Gabe Black has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/55452 )
Change subject: arch-x86: Keep all the IOAPIC entries masked at startup.
......................................................................
arch-x86: Keep all the IOAPIC entries masked at startup.
There are two entities setting up the IOAPIC when the simulation is
started, the IOAPIC itsef, and the PC platform object. It's probably not
a good idea (and definitely confusing) to have this initialization
happening in two places.
For now at least, lets make the PC platform object mask the IOAPIC lines
at startup like the IOAPIC is doing. This will help prevent spurious
interrupts from being delivered to the CPU during startup.
Change-Id: I10f455d8e0fca28ddaf772c224a32c1f5f2dd37b
---
M src/dev/x86/pc.cc
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/src/dev/x86/pc.cc b/src/dev/x86/pc.cc
index 0473aa5..71881aa 100644
--- a/src/dev/x86/pc.cc
+++ b/src/dev/x86/pc.cc
@@ -68,6 +68,7 @@
*/
X86ISA::I82094AA &ioApic = *southBridge->ioApic;
X86ISA::I82094AA::RedirTableEntry entry = 0;
+ entry.mask = 1;
entry.deliveryMode = X86ISA::delivery_mode::ExtInt;
entry.vector = 0x20;
ioApic.writeReg(0x10, entry.bottomDW);
@@ -76,7 +77,6 @@
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);
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/55452
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I10f455d8e0fca28ddaf772c224a32c1f5f2dd37b
Gerrit-Change-Number: 55452
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <gabe.bl...@gmail.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s