gem5.git
16 years agoUpdate stats for brk fix (cset f28f020f3006).
Steve Reinhardt [Mon, 17 Nov 2008 19:11:09 +0000 (14:11 -0500)]
Update stats for brk fix (cset f28f020f3006).

16 years agoOutput: Include gzstream package to allow automatically-gzipped output
Clint Smullen [Sun, 16 Nov 2008 04:42:11 +0000 (23:42 -0500)]
Output: Include gzstream package to allow automatically-gzipped output
The gzstream package provides an ostream-interface for writing gzipped files.
The package comes from:
    http://www.cs.unc.edu/Research/compgeom/gzstream/
And is distributed under the LGPL license. Both the license and version
information has been preservered, though all other files in the package have
been purged. Minor modifications to the code have been made. The output module
detects when a filename ends in .gz and constructs an ogzstream object instead
of an ofstream object. This works for both the create(...) and find(...)
commands. Additionally, since gzstream objects needs to be closed to ensure
proper file termination, I have the output deconstructor deleting all ostream's
that it manages on behalf of find(...). At the moment, the only output file
that I know this functionality works for is stats, i.e. by specifying
"--stats-file=m5stats.txt.gz" on the command line.

16 years agosyscalls: fix latent brk/obreak bug.
Steve Reinhardt [Sat, 15 Nov 2008 17:30:10 +0000 (09:30 -0800)]
syscalls: fix latent brk/obreak bug.
Bogus calls to ChunkGenerator with negative size were triggering
a new assertion that was added there.
Also did a little renaming and cleanup in the process.

16 years agoRemove the pointless, repository destroying assertion and just have the script check...
Clint Smullen [Sat, 15 Nov 2008 05:21:31 +0000 (00:21 -0500)]
Remove the pointless, repository destroying assertion and just have the script check every line in the file if it cannot get context information.

16 years agoCache: get rid of obsolete Tag methods.
Steve Reinhardt [Fri, 14 Nov 2008 22:14:35 +0000 (14:14 -0800)]
Cache: get rid of obsolete Tag methods.
I think readData() and writeData() were used for Erik's compression
work, but that code is gone, these aren't called anymore, and they
don't even really do what their names imply.

16 years agoFix a bunch of bugs I introduced when I changed the flags stuff for packets.
Nathan Binkert [Fri, 14 Nov 2008 12:55:30 +0000 (04:55 -0800)]
Fix a bunch of bugs I introduced when I changed the flags stuff for packets.
I did some of the flags and assertions wrong. Thanks to Brad Beckmann
for pointing this out.  I should have run the opt regressions instead
of the fast. I also screwed up some of the logical functions in the Flags
class.

16 years agoCPU: Refactor read/write in the simple timing CPU.
Gabe Black [Fri, 14 Nov 2008 07:30:37 +0000 (23:30 -0800)]
CPU: Refactor read/write in the simple timing CPU.

16 years agoX86: Update the mcf stats.
Gabe Black [Fri, 14 Nov 2008 07:30:15 +0000 (23:30 -0800)]
X86: Update the mcf stats.
I must have missed updating these for the change to send both parts of a split
packet at the same time.

16 years agoSCons: Allow top level directory of EXTRAS able to contain SConscripts.
Nathan Binkert [Mon, 10 Nov 2008 19:51:18 +0000 (11:51 -0800)]
SCons: Allow top level directory of EXTRAS able to contain SConscripts.
The current EXTRAS will fail if the top level directory pointed to by EXTRAS
has a SConscript file in it.  We allow this by including the directory name
of the EXTRA in the build directory which prevents a clash between
src/SConscript and extra/SConscript. Maintain compatibility with older uses
of EXTRAS by adding a -I for each top level extra directory.

16 years agopseudo inst: Add rpns (read processor nanoseconds) instruction.
Nathan Binkert [Mon, 10 Nov 2008 19:51:18 +0000 (11:51 -0800)]
pseudo inst: Add rpns (read processor nanoseconds) instruction.
This instruction basically returns the number of nanoseconds that the CPU
has been running.

16 years agoClean up the SimpleTimingPort class a little bit.
Nathan Binkert [Mon, 10 Nov 2008 19:51:18 +0000 (11:51 -0800)]
Clean up the SimpleTimingPort class a little bit.
Move the constructor into the .cc file and get rid of the typedef for
SendEvent.

16 years agoclean: Move some stuff from the hh file to the cc file.
Nathan Binkert [Mon, 10 Nov 2008 19:51:18 +0000 (11:51 -0800)]
clean: Move some stuff from the hh file to the cc file.

16 years agopython: Fix the reference counting for python events placed on the eventq.
Nathan Binkert [Mon, 10 Nov 2008 19:51:18 +0000 (11:51 -0800)]
python: Fix the reference counting for python events placed on the eventq.
We need to add a reference when an object is put on the C++ queue, and remove
a reference when the object is removed from the queue.  This was not happening
before and caused a memory problem.

16 years agoO3CPU: Make the instcount debugging stuff per-cpu.
Clint Smullen [Mon, 10 Nov 2008 19:51:18 +0000 (11:51 -0800)]
O3CPU: Make the instcount debugging stuff per-cpu.
This is to prevent the assertion from firing if you have a large multicore.
Also make sure that it's not compiled in when NDEBUG is defined

16 years agomem: update stuff for changes to Packet and Request
Nathan Binkert [Mon, 10 Nov 2008 19:51:17 +0000 (11:51 -0800)]
mem: update stuff for changes to Packet and Request

16 years agostyle: clean up the Packet stuff
Nathan Binkert [Mon, 10 Nov 2008 19:51:17 +0000 (11:51 -0800)]
style: clean up the Packet stuff

16 years agoflags: Provide an object for managing boolean flags for an object.
Nathan Binkert [Mon, 10 Nov 2008 19:51:17 +0000 (11:51 -0800)]
flags: Provide an object for managing boolean flags for an object.
In many cases it might be preferable to use bitset, but this object
allows the user more easily manipulate groups of flags because the
underlying type (e.g. uint64_t) is exposed.

16 years agosafe_cast: add a new cast function for casts that should always succeed.
Nathan Binkert [Mon, 10 Nov 2008 19:51:17 +0000 (11:51 -0800)]
safe_cast: add a new cast function for casts that should always succeed.
In DEBUG mode, this does a dynamic_cast and asserts that the result is
non null.  Otherwise, it just does a static_cast.  Again, this is only
intended for cases where the cast should always succeed and what's
desired is a debugging check to make sure.

16 years agoDmaDevice: fix minor type in error message.
Steve Reinhardt [Mon, 10 Nov 2008 22:45:31 +0000 (14:45 -0800)]
DmaDevice: fix minor type in error message.

16 years agomem: Assert that requests have non-negative size.
Steve Reinhardt [Mon, 10 Nov 2008 22:11:07 +0000 (14:11 -0800)]
mem: Assert that requests have non-negative size.
Would have saved me much debugging time if these
had been in there previously.

16 years agoCache: Refactor packet forwarding a bit.
Steve Reinhardt [Mon, 10 Nov 2008 22:10:28 +0000 (14:10 -0800)]
Cache: Refactor packet forwarding a bit.
Makes adding write-through operations easier.

16 years agoX86: Add x86 reference output for the timing CPU.
Gabe Black [Mon, 10 Nov 2008 05:57:15 +0000 (21:57 -0800)]
X86: Add x86 reference output for the timing CPU.

16 years agoCPU: Make unaligned accesses work in the timing simple CPU.
Gabe Black [Mon, 10 Nov 2008 05:56:28 +0000 (21:56 -0800)]
CPU: Make unaligned accesses work in the timing simple CPU.

16 years agoX86: Fix completeAcc get call.
Gabe Black [Mon, 10 Nov 2008 05:55:43 +0000 (21:55 -0800)]
X86: Fix completeAcc get call.

16 years agoX86: Make the timing simple CPU handle variable length instructions.
Gabe Black [Mon, 10 Nov 2008 05:55:01 +0000 (21:55 -0800)]
X86: Make the timing simple CPU handle variable length instructions.

16 years agotracediff: add '#' support for sub-arg alternatives, '-n' param
Steve Reinhardt [Fri, 7 Nov 2008 04:23:05 +0000 (20:23 -0800)]
tracediff: add '#' support for sub-arg alternatives, '-n' param

16 years agoAutomated merge with ssh://daystrom.m5sim.org//repo/m5
Lisa Hsu [Thu, 6 Nov 2008 16:11:50 +0000 (11:11 -0500)]
Automated merge with ssh://daystrom.m5sim.org//repo/m5

16 years agoReference updates. Since split cache is gone, a lot of config.ini changes, and minor...
Lisa Hsu [Thu, 6 Nov 2008 16:11:42 +0000 (11:11 -0500)]
Reference updates.  Since split cache is gone, a lot of config.ini changes, and minor changes to stats that are likely due to the decoupling of insertions/evictions in the cache.

16 years agoAutomated merge with ssh://m5sim.org//repo/m5
Lisa Hsu [Wed, 5 Nov 2008 23:12:21 +0000 (18:12 -0500)]
Automated merge with ssh://m5sim.org//repo/m5

16 years agonew mp eio test
Lisa Hsu [Wed, 5 Nov 2008 23:10:30 +0000 (18:10 -0500)]
new mp eio test

16 years agoFix SPARC_FS compile
Lisa Hsu [Wed, 5 Nov 2008 21:19:17 +0000 (16:19 -0500)]
Fix SPARC_FS compile

16 years agoRight now a single thread cpu 1 could get assigned context Id != 1, depending
Lisa Hsu [Wed, 5 Nov 2008 20:30:49 +0000 (15:30 -0500)]
Right now a single thread cpu 1 could get assigned context Id != 1, depending
on the order in which it's registered with the system.  To make them match,
here is a little change.

16 years agoFix a few more places where the context stuff wasn't changed
Nathan Binkert [Wed, 5 Nov 2008 15:20:03 +0000 (07:20 -0800)]
Fix a few more places where the context stuff wasn't changed

16 years agodecouple eviction from insertion in the cache.
Lisa Hsu [Tue, 4 Nov 2008 16:35:58 +0000 (11:35 -0500)]
decouple eviction from insertion in the cache.

16 years agoChange the findBlock(addr, lat) to accessBlock, which I think has better connotations...
Lisa Hsu [Tue, 4 Nov 2008 16:35:57 +0000 (11:35 -0500)]
Change the findBlock(addr, lat) to accessBlock, which I think has better connotations for what is really happening and how it should be used.

16 years agoget rid of all instances of readTid() and getThreadNum(). Unify and eliminate
Lisa Hsu [Tue, 4 Nov 2008 16:35:42 +0000 (11:35 -0500)]
get rid of all instances of readTid() and getThreadNum().  Unify and eliminate
redundancies with threadId() as their replacement.

16 years agoAdd in Context IDs to the simulator. From now on, cpuId is almost never used,
Lisa Hsu [Mon, 3 Nov 2008 02:57:07 +0000 (21:57 -0500)]
Add in Context IDs to the simulator.  From now on, cpuId is almost never used,
the primary identifier for a hardware context should be contextId().  The
concept of threads within a CPU remains, in the form of threadId() because
sometimes you need to know which context within a cpu to manipulate.

16 years agoMake it so that all thread contexts are registered with the System, even in
Lisa Hsu [Mon, 3 Nov 2008 02:57:06 +0000 (21:57 -0500)]
Make it so that all thread contexts are registered with the System, even in
SE.  Process still keeps track of the tc's it owns, but registration occurs
with the System, this eases the way for system-wide context Ids based on
registration.

16 years agomake BaseCPU the provider of _cpuId, and cpuId() instead of being scattered
Lisa Hsu [Mon, 3 Nov 2008 02:56:57 +0000 (21:56 -0500)]
make BaseCPU the provider of _cpuId, and cpuId() instead of being scattered
across the subclasses. generally make it so that member data is _cpuId and
accessor functions are cpuId(). The ID val comes from the python (default -1 if
none provided), and if it is -1, the index of cpuList will be given. this has
passed util/regress quick and se.py -n4 and fs.py -n4 as well as standard
switch.

16 years agoLibelf: Append options to CCFLAGS for warning free libelf compile instead of deleting...
Ali Saidi [Wed, 29 Oct 2008 01:13:21 +0000 (21:13 -0400)]
Libelf: Append options to CCFLAGS for warning free libelf compile instead of deleting CCFLAGS. Should fix 64bit OS X compile problem.

16 years agoCPU: The API change to EventWrapper did not get propagated to the entirety of Timing...
Clint Smullen [Mon, 27 Oct 2008 22:18:04 +0000 (18:18 -0400)]
CPU: The  API change to EventWrapper did not get propagated to the entirety of TimingSimpleCPU.
The constructor no-longer schedules an event at construction and the implict conversion between int and bool was allowing the old code to compile without warning.

Signed-off By: Ali Saidi

16 years agoCheckpointing: createCountedDrain function, it was only returning an Event, which...
Clint Smullen [Mon, 27 Oct 2008 23:46:01 +0000 (19:46 -0400)]
Checkpointing: createCountedDrain function, it was only returning an Event, which does not expose a setCount method to Python.

Signed-off By: Ali Saidi

16 years agoBATCH: Run as, ar, and ranlib with BATCH_CMD so that they execute on the batch hosts...
Ali Saidi [Sun, 26 Oct 2008 18:45:47 +0000 (14:45 -0400)]
BATCH: Run as, ar, and ranlib with BATCH_CMD so that they execute on the batch hosts, not local host.

16 years agos/cpu_id/cpuId in o3 (to be consistent and match style), also fix some typos in
Lisa Hsu [Thu, 23 Oct 2008 20:49:17 +0000 (16:49 -0400)]
s/cpu_id/cpuId in o3 (to be consistent and match style), also fix some typos in
comments.

16 years agoprobe function no longer used anywhere.
Lisa Hsu [Thu, 23 Oct 2008 20:49:13 +0000 (16:49 -0400)]
probe function no longer used anywhere.

16 years agoremove the totally obsolete split cache
Lisa Hsu [Thu, 23 Oct 2008 20:11:28 +0000 (16:11 -0400)]
remove the totally obsolete split cache

16 years agostyle: Use the correct m5 style for things relating to interrupts.
Nathan Binkert [Tue, 21 Oct 2008 14:12:53 +0000 (07:12 -0700)]
style: Use the correct m5 style for things relating to interrupts.

16 years agoRegression: Add single and dual boot O3 regressions. They both take about 8 minutes...
Ali Saidi [Mon, 20 Oct 2008 23:00:07 +0000 (19:00 -0400)]
Regression: Add single and dual boot O3 regressions. They both take about 8 minutes to complete.

16 years agoO3CPU: Undo Gabe's changes to remove hwrei and simpalcheck from O3 CPU. Removing...
Ali Saidi [Mon, 20 Oct 2008 20:22:59 +0000 (16:22 -0400)]
O3CPU: Undo Gabe's changes to remove hwrei and simpalcheck from O3 CPU.  Removing hwrei causes
the instruction after the hwrei to be fetched before the ITB/DTB_CM register is updated in a call pal
call sys and thus the translation fails because the user is attempting to access a super page address.

Minimally, it seems as though some sort of fetch stall or refetch after a hwrei is required. I think
this works currently because the hwrei uses the exec context interface, and the o3 stalls when that occurs.

Additionally, these changes don't update the LOCK register and probably break ll/sc. Both o3 changes were
removed since a great deal of manual patching would be required to only remove the hwrei change.

16 years agoAutomated merge with ssh://daystrom.m5sim.org//z/repo/m5
Lisa Hsu [Mon, 20 Oct 2008 02:50:53 +0000 (22:50 -0400)]
Automated merge with ssh://daystrom.m5sim.org//z/repo/m5

16 years agoneed to add packet_access.hh in order to get tempalte definition
Nathan Binkert [Fri, 17 Oct 2008 05:22:47 +0000 (22:22 -0700)]
need to add packet_access.hh in order to get tempalte definition

16 years agoget rid of local variable that's only used in an assert so fast compiles
Nathan Binkert [Fri, 17 Oct 2008 05:22:17 +0000 (22:22 -0700)]
get rid of local variable that's only used in an assert so fast compiles

16 years agoAutomated merge with ssh://daystrom.m5sim.org//z/repo/m5
Lisa Hsu [Thu, 16 Oct 2008 18:16:26 +0000 (14:16 -0400)]
Automated merge with ssh://daystrom.m5sim.org//z/repo/m5

16 years agoThis function declaration isn't used anywhere.
Lisa Hsu [Tue, 14 Oct 2008 21:22:03 +0000 (17:22 -0400)]
This function declaration isn't used anywhere.
 HG: user: Lisa Hsu <hsul@eecs.umich.edu> HG: branch default HG: changed
src/mem/cache/cache.hh

16 years agoeventq: make python events actually work
Nathan Binkert [Tue, 14 Oct 2008 16:34:11 +0000 (09:34 -0700)]
eventq: make python events actually work

16 years agoeventq: revert code for unserializing events.
Nathan Binkert [Tue, 14 Oct 2008 16:33:52 +0000 (09:33 -0700)]
eventq: revert code for unserializing events.
Since I never implemented a proper solution, put it back to something that
at least works for now.  Once I add more event queues, I'll have to really
fix this though

16 years agoCPU: Explain why some code is commented out.
Gabe Black [Mon, 13 Oct 2008 06:52:02 +0000 (23:52 -0700)]
CPU: Explain why some code is commented out.

16 years agoGet rid of some commented out code.
Gabe Black [Mon, 13 Oct 2008 06:50:22 +0000 (23:50 -0700)]
Get rid of some commented out code.

16 years agoX86: Set the delayed commit flag in x86 microops appropriately.
Gabe Black [Mon, 13 Oct 2008 06:29:10 +0000 (23:29 -0700)]
X86: Set the delayed commit flag in x86 microops appropriately.

16 years agoX86: Make the local APIC timer event generate an interrupt.
Gabe Black [Mon, 13 Oct 2008 06:28:49 +0000 (23:28 -0700)]
X86: Make the local APIC timer event generate an interrupt.

16 years agoX86: Implement the EOI register in the local APIC.
Gabe Black [Mon, 13 Oct 2008 06:28:11 +0000 (23:28 -0700)]
X86: Implement the EOI register in the local APIC.

16 years agoX86: Add some DPRINTFs to the local APIC.
Gabe Black [Mon, 13 Oct 2008 06:27:45 +0000 (23:27 -0700)]
X86: Add some DPRINTFs to the local APIC.

16 years agoX86: Make auto eoi mode work in the I8259 PIC.
Gabe Black [Mon, 13 Oct 2008 06:27:08 +0000 (23:27 -0700)]
X86: Make auto eoi mode work in the I8259 PIC.

16 years agoX86: Make non-specific EOI commands work.
Gabe Black [Mon, 13 Oct 2008 06:25:48 +0000 (23:25 -0700)]
X86: Make non-specific EOI commands work.

16 years agoX86: Make the I8259 PIC accept a specific EOI command.
Gabe Black [Mon, 13 Oct 2008 06:22:58 +0000 (23:22 -0700)]
X86: Make the I8259 PIC accept a specific EOI command.

16 years agoX86: Fix the segment setting code in IRET, and make it restore the flags.
Gabe Black [Mon, 13 Oct 2008 06:05:22 +0000 (23:05 -0700)]
X86: Fix the segment setting code in IRET, and make it restore the flags.

16 years agoX86: Panic when an unimplemented fault is invoked, rather than spinning forever
Gabe Black [Mon, 13 Oct 2008 06:00:28 +0000 (23:00 -0700)]
X86: Panic when an unimplemented fault is invoked, rather than spinning forever

16 years agoX86: Implement the swapgs instruction.
Gabe Black [Mon, 13 Oct 2008 06:00:07 +0000 (23:00 -0700)]
X86: Implement the swapgs instruction.

16 years agoX86: Add wrval/rdval microops for reading significant miscregs.
Gabe Black [Mon, 13 Oct 2008 05:55:55 +0000 (22:55 -0700)]
X86: Add wrval/rdval microops for reading significant miscregs.

16 years agoX86: Make the x86 interrupt fault kick off the interrupt microcode.
Gabe Black [Mon, 13 Oct 2008 05:42:10 +0000 (22:42 -0700)]
X86: Make the x86 interrupt fault kick off the interrupt microcode.

16 years agoX86: Implement entering an interrupt in microcode.
Gabe Black [Mon, 13 Oct 2008 05:42:03 +0000 (22:42 -0700)]
X86: Implement entering an interrupt in microcode.

16 years agoX86: Make sure register microops set fault rather than returning one.
Gabe Black [Mon, 13 Oct 2008 05:24:06 +0000 (22:24 -0700)]
X86: Make sure register microops set fault rather than returning one.

16 years agoX86: Implement an wrdh microop which loads bases/offsets from 16 byte descriptors.
Gabe Black [Mon, 13 Oct 2008 05:16:53 +0000 (22:16 -0700)]
X86: Implement an wrdh microop which loads bases/offsets from 16 byte descriptors.

16 years agoX86: Make the MicroPC type 16 bit.
Gabe Black [Mon, 13 Oct 2008 03:48:24 +0000 (20:48 -0700)]
X86: Make the MicroPC type 16 bit.

16 years agoX86: Implement local labels for the ROM that actually refer into the ROM.
Gabe Black [Mon, 13 Oct 2008 03:44:11 +0000 (20:44 -0700)]
X86: Implement local labels for the ROM that actually refer into the ROM.

16 years agoX86: Implement the chks check of interrupt gate target code segments.
Gabe Black [Mon, 13 Oct 2008 03:38:22 +0000 (20:38 -0700)]
X86: Implement the chks check of interrupt gate target code segments.

16 years agoX86: Add a check type for interrupt gates.
Gabe Black [Mon, 13 Oct 2008 03:33:37 +0000 (20:33 -0700)]
X86: Add a check type for interrupt gates.

16 years agoX86: Fix chks checking the submode for stack segments.
Gabe Black [Mon, 13 Oct 2008 03:29:52 +0000 (20:29 -0700)]
X86: Fix chks checking the submode for stack segments.

16 years agoX86: Let segment manipulation microops be conditional.
Gabe Black [Mon, 13 Oct 2008 03:25:06 +0000 (20:25 -0700)]
X86: Let segment manipulation microops be conditional.

16 years agoX86: Let the microassembler know about the microcode only H segment.
Gabe Black [Mon, 13 Oct 2008 03:17:38 +0000 (20:17 -0700)]
X86: Let the microassembler know about the microcode only H segment.

16 years agoX86: Fix the rdbase microop
Gabe Black [Mon, 13 Oct 2008 03:07:46 +0000 (20:07 -0700)]
X86: Fix the rdbase microop

16 years agoX86: Don't fetch in the simple CPU if you're in the ROM.
Gabe Black [Mon, 13 Oct 2008 02:32:06 +0000 (19:32 -0700)]
X86: Don't fetch in the simple CPU if you're in the ROM.

16 years agoGet rid of old RegContext code.
Gabe Black [Mon, 13 Oct 2008 00:57:46 +0000 (17:57 -0700)]
Get rid of old RegContext code.

16 years agoX86: Create a handy way to access labels from the ROM in microcode.
Gabe Black [Mon, 13 Oct 2008 00:52:51 +0000 (17:52 -0700)]
X86: Create a handy way to access labels from the ROM in microcode.

16 years agoX86: Make X86's microcode ROM actually do something.
Gabe Black [Mon, 13 Oct 2008 00:48:44 +0000 (17:48 -0700)]
X86: Make X86's microcode ROM actually do something.

16 years agoCPU: Make the highest order bit in the micro pc determine if it's combinational or...
Gabe Black [Sun, 12 Oct 2008 23:59:55 +0000 (16:59 -0700)]
CPU: Make the highest order bit in the micro pc determine if it's combinational or from the ROM.

16 years agoCPU: Create a microcode ROM object in the CPU which is defined by the ISA.
Gabe Black [Sun, 12 Oct 2008 22:59:21 +0000 (15:59 -0700)]
CPU: Create a microcode ROM object in the CPU which is defined by the ISA.

16 years agoX86: Create an eret microop which returns from ROM to combinational decoding.
Gabe Black [Sun, 12 Oct 2008 22:53:04 +0000 (15:53 -0700)]
X86: Create an eret microop which returns from ROM to combinational decoding.

16 years agoX86: Make Br never report itself as the last microop.
Gabe Black [Sun, 12 Oct 2008 22:43:35 +0000 (15:43 -0700)]
X86: Make Br never report itself as the last microop.

16 years agoX86: Create a SeqOp class of microops and make Br one of them.
Gabe Black [Sun, 12 Oct 2008 22:33:17 +0000 (15:33 -0700)]
X86: Create a SeqOp class of microops and make Br one of them.

16 years agoX86: Update the stats for cpuid's new implementation
Gabe Black [Sun, 12 Oct 2008 22:31:37 +0000 (15:31 -0700)]
X86: Update the stats for cpuid's new implementation

16 years agoX86: Implement CPUID with a magical function instead of microcode.
Gabe Black [Sun, 12 Oct 2008 22:31:28 +0000 (15:31 -0700)]
X86: Implement CPUID with a magical function instead of microcode.

16 years agoX86: Fix the ordering of special physical address ranges.
Gabe Black [Sun, 12 Oct 2008 21:01:06 +0000 (14:01 -0700)]
X86: Fix the ordering of special physical address ranges.

16 years agoX86: Create a mechanism for the IO APIC to access I8259 vectors.
Gabe Black [Sun, 12 Oct 2008 20:54:57 +0000 (13:54 -0700)]
X86: Create a mechanism for the IO APIC to access I8259 vectors.

16 years agoX86: Actually use the extra vector bits we get from ICW2.
Gabe Black [Sun, 12 Oct 2008 20:51:48 +0000 (13:51 -0700)]
X86: Actually use the extra vector bits we get from ICW2.

16 years agoX86: Make the local APIC process interrupts and send them to the CPU.
Gabe Black [Sun, 12 Oct 2008 20:45:21 +0000 (13:45 -0700)]
X86: Make the local APIC process interrupts and send them to the CPU.

16 years agoX86: Make the local APIC handle interrupt messages from the IO APIC.
Gabe Black [Sun, 12 Oct 2008 20:44:24 +0000 (13:44 -0700)]
X86: Make the local APIC handle interrupt messages from the IO APIC.

16 years agoX86: Change the default value for the IO APIC redirection table.
Gabe Black [Sun, 12 Oct 2008 20:35:26 +0000 (13:35 -0700)]
X86: Change the default value for the IO APIC redirection table.

16 years agoX86: Make the bases for x86 fault class public.
Gabe Black [Sun, 12 Oct 2008 20:29:26 +0000 (13:29 -0700)]
X86: Make the bases for x86 fault class public.

16 years agoX86: Make APICs communicate through the memory system.
Gabe Black [Sun, 12 Oct 2008 20:28:54 +0000 (13:28 -0700)]
X86: Make APICs communicate through the memory system.