summaryrefslogtreecommitdiff
path: root/src/dev/x86
AgeCommit message (Collapse)Author
2009-04-26X86: Implement lowest priority interrupts more correctly.Gabe Black
Lowest priority interrupts are now delivered based on a rotating offset into the list of potential recipients. There could be parasitic cases were a processor gets picked on and ends up at that rotating offset all the time, but it's much more likely that the group will stay consistent and the pain will be distributed evenly.
2009-04-26X86: Tell the function that sends int messages who to send to instead of ↵Gabe Black
figuring it out itself.
2009-04-26X86: Make the local APICs register themselves with the IO APIC.Gabe Black
This is a hack so that the IO APIC can figure out information about the local APICs. The local APICs still have no way to find out about each other. Ideally, when the local APICs update state that's relevant to somebody else, they'd send an update to everyone. Without being able to do a broadcast, that would still require knowing who else there is to notify. Other broadcasts are implemented using assumptions that may not always be true.
2009-04-26X86: Record the initial APIC ID which identifies an APIC in M5.Gabe Black
The ID as exposed to software can be changed. Tracking those changes in M5 would be cumbersome, especially since there's no guarantee the IDs will remain unique.
2009-04-26X86, Config: Make makeX86System consider the number of CPUs, and clean up ↵Gabe Black
interrupt assignment.
2009-04-19X86: Mask the PIC at startup to avoid a glitch which causes an NMI.Gabe Black
2009-04-19X86: Add a function which gets called when an interrupt message has been ↵Gabe Black
delivered.
2009-04-19X86: Make code that sends an interrupt from the IO APIC available for IPIs.Gabe Black
2009-02-25X86: Add makeAtomicResponse to the read/write functions of x86 devices.Gabe Black
2009-02-01X86: Add some missing default arguments.Gabe Black
2009-02-01X86: Implement pciToDma.Gabe Black
2009-02-01X86: Configure the first PCI interrupt.Gabe Black
2009-02-01X86: Hook up the IDE controller interrupt line.Gabe Black
2009-02-01Devices: Add support for legacy fixed IO locations in BARs.Gabe Black
2009-02-01X86: Plug in an IDE controller.Gabe Black
2009-01-31X86: Refactor and clean up the keyboard controller.Gabe Black
2009-01-31X86: Add a keyboard controller device.Gabe Black
2009-01-31X86: Set up the console interrupt and add some DPRINTFs.Gabe Black
2009-01-31X86: Configure the IO APIC more.Gabe Black
2009-01-31X86: Rework interrupt pins to allow one to many connections.Gabe Black
2009-01-31X86: Initialize the value behind port 61 so unused bits are consistent.Gabe Black
2009-01-25X86: Add a dummy minimal DMA controller that doesn't do anything.Gabe Black
2009-01-25X86: Add a device to back the non-existant floppy drive controller.Gabe Black
2009-01-25X86: Add fake devices for non-existant serial ports.Gabe Black
2008-11-05Fix a few more places where the context stuff wasn't changedNathan Binkert
2008-10-16need to add packet_access.hh in order to get tempalte definitionNathan Binkert
2008-10-12X86: Make auto eoi mode work in the I8259 PIC.Gabe Black
2008-10-12X86: Make non-specific EOI commands work.Gabe Black
2008-10-12X86: Make the I8259 PIC accept a specific EOI command.Gabe Black
2008-10-12X86: Create a mechanism for the IO APIC to access I8259 vectors.Gabe Black
2008-10-12X86: Actually use the extra vector bits we get from ICW2.Gabe Black
2008-10-12X86: Make the local APIC handle interrupt messages from the IO APIC.Gabe Black
2008-10-12X86: Change the default value for the IO APIC redirection table.Gabe Black
2008-10-12X86: Make APICs communicate through the memory system.Gabe Black
2008-10-11X86: Create an IO APIC device.Gabe Black
2008-10-11X86: Set up a mechanism for the I8254 timer to cause interrupts.Gabe Black
2008-10-11X86: Rename the PC device to Pc.Gabe Black
--HG-- rename : src/dev/x86/PC.py => src/dev/x86/Pc.py
2008-10-11X86: Bring the South Bridge device into dev/x86 and get rid of south_bridge ↵Gabe Black
directory. --HG-- rename : src/dev/x86/south_bridge/SouthBridge.py => src/dev/x86/SouthBridge.py rename : src/dev/x86/south_bridge/south_bridge.cc => src/dev/x86/south_bridge.cc rename : src/dev/x86/south_bridge/south_bridge.hh => src/dev/x86/south_bridge.hh
2008-10-11X86: Change I8254 and PCSpeaker devices from subdevices to SimObjects and ↵Gabe Black
eliminate subdevices. --HG-- rename : src/dev/x86/south_bridge/i8254.cc => src/dev/x86/i8254.cc rename : src/dev/x86/south_bridge/i8254.hh => src/dev/x86/i8254.hh rename : src/dev/x86/south_bridge/speaker.cc => src/dev/x86/speaker.cc rename : src/dev/x86/south_bridge/speaker.hh => src/dev/x86/speaker.hh
2008-10-11Devices: Make the Intel8254Timer device only use pointers to its counters.Gabe Black
2008-10-11X86: Make the CMOS and I8259 devices use IntDev and IntPin.Gabe Black
2008-10-11X86: Create the IntDev and IntPin system.Gabe Black
The IntDev class is a base for anything that supports IntPins. IntPins allow devices to generically trigger interrupts on a particular pin of an IntDev device without having to know what the device is or what pin they're attached to.
2008-10-11X86: Hook the CMOS device to the I8259 PICs.Gabe Black
2008-10-11X86: Make the I8259 decipher the commands it's given, and add some of it's ↵Gabe Black
registers.
2008-10-11X86: Change the I8259 from a subdevice into a real SimObject.Gabe Black
--HG-- rename : src/dev/x86/south_bridge/i8259.cc => src/dev/x86/i8259.cc rename : src/dev/x86/south_bridge/i8259.hh => src/dev/x86/i8259.hh
2008-10-11X86: Change the CMOS from a sub-device to a real SimObjectGabe Black
--HG-- rename : src/dev/x86/south_bridge/cmos.cc => src/dev/x86/cmos.cc rename : src/dev/x86/south_bridge/cmos.hh => src/dev/x86/cmos.hh
2008-10-10X86: Make the time on the RTC configurable.Gabe Black
2008-10-10X86: Fix compilation with new eventq API.Gabe Black
2008-06-17Rename SimConsole to Terminal since it makes more senseNathan Binkert
--HG-- rename : src/dev/SimConsole.py => src/dev/Terminal.py rename : src/dev/simconsole.cc => src/dev/terminal.cc rename : src/dev/simconsole.hh => src/dev/terminal.hh
2008-06-12X86: Make the code compile as 32 bit.Gabe Black