diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-01-31 23:44:05 -0800 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-01-31 23:44:05 -0800 |
commit | e1c412cec690083f93ae0cb741c03e00e77cde71 (patch) | |
tree | 23a88ebd8173ba8e15b44bf22d4c995413829d39 /src/dev/x86/pc.cc | |
parent | d08b8e2b825d8ad33d51c860af379a244f78dc30 (diff) | |
download | gem5-e1c412cec690083f93ae0cb741c03e00e77cde71.tar.xz |
X86: Configure the IO APIC more.
Diffstat (limited to 'src/dev/x86/pc.cc')
-rw-r--r-- | src/dev/x86/pc.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/dev/x86/pc.cc b/src/dev/x86/pc.cc index 94fb23e21..c2e562517 100644 --- a/src/dev/x86/pc.cc +++ b/src/dev/x86/pc.cc @@ -83,6 +83,23 @@ Pc::init() entry.vector = 0x20; ioApic.writeReg(0x10, entry.bottomDW); ioApic.writeReg(0x11, entry.topDW); + entry.deliveryMode = DeliveryMode::Fixed; + entry.vector = 0x24; + ioApic.writeReg(0x18, entry.bottomDW); + ioApic.writeReg(0x19, entry.topDW); + entry.mask = 1; + entry.vector = 0x21; + ioApic.writeReg(0x12, entry.bottomDW); + ioApic.writeReg(0x13, entry.topDW); + entry.vector = 0x20; + ioApic.writeReg(0x14, entry.bottomDW); + ioApic.writeReg(0x15, entry.topDW); + entry.vector = 0x28; + ioApic.writeReg(0x20, entry.bottomDW); + ioApic.writeReg(0x21, entry.topDW); + entry.vector = 0x2C; + ioApic.writeReg(0x28, entry.bottomDW); + ioApic.writeReg(0x29, entry.topDW); } Tick |