Gabe Black
|
34ca72d16d
|
Get rid of some commented out code.
|
2008-10-12 23:50:22 -07:00 |
|
Gabe Black
|
3c4567f2a6
|
X86: Set the delayed commit flag in x86 microops appropriately.
|
2008-10-12 23:29:10 -07:00 |
|
Gabe Black
|
33ebd04474
|
X86: Make the local APIC timer event generate an interrupt.
|
2008-10-12 23:28:49 -07:00 |
|
Gabe Black
|
bdc28d793d
|
X86: Implement the EOI register in the local APIC.
|
2008-10-12 23:28:11 -07:00 |
|
Gabe Black
|
fd37688294
|
X86: Add some DPRINTFs to the local APIC.
|
2008-10-12 23:27:45 -07:00 |
|
Gabe Black
|
be6055e0f2
|
X86: Make auto eoi mode work in the I8259 PIC.
|
2008-10-12 23:27:08 -07:00 |
|
Gabe Black
|
fb5bb434a9
|
X86: Make non-specific EOI commands work.
|
2008-10-12 23:25:48 -07:00 |
|
Gabe Black
|
8e664f3959
|
X86: Make the I8259 PIC accept a specific EOI command.
|
2008-10-12 23:22:58 -07:00 |
|
Gabe Black
|
e3004c579f
|
X86: Fix the segment setting code in IRET, and make it restore the flags.
|
2008-10-12 23:05:22 -07:00 |
|
Gabe Black
|
349a155b6e
|
X86: Panic when an unimplemented fault is invoked, rather than spinning forever
|
2008-10-12 23:00:28 -07:00 |
|
Gabe Black
|
564eda827b
|
X86: Implement the swapgs instruction.
|
2008-10-12 23:00:07 -07:00 |
|
Gabe Black
|
a2e0d539d8
|
X86: Add wrval/rdval microops for reading significant miscregs.
|
2008-10-12 22:55:55 -07:00 |
|
Gabe Black
|
9e8e2f9ec6
|
X86: Make the x86 interrupt fault kick off the interrupt microcode.
|
2008-10-12 22:42:10 -07:00 |
|
Gabe Black
|
4c19c56a77
|
X86: Implement entering an interrupt in microcode.
|
2008-10-12 22:42:03 -07:00 |
|
Gabe Black
|
f813a4be49
|
X86: Make sure register microops set fault rather than returning one.
|
2008-10-12 22:24:06 -07:00 |
|
Gabe Black
|
961b40cdb5
|
X86: Implement an wrdh microop which loads bases/offsets from 16 byte descriptors.
|
2008-10-12 22:16:53 -07:00 |
|
Gabe Black
|
989fa4fc0f
|
X86: Make the MicroPC type 16 bit.
|
2008-10-12 20:48:24 -07:00 |
|
Gabe Black
|
6074b1abf2
|
X86: Implement local labels for the ROM that actually refer into the ROM.
|
2008-10-12 20:44:11 -07:00 |
|
Gabe Black
|
6b46e5204d
|
X86: Implement the chks check of interrupt gate target code segments.
|
2008-10-12 20:38:22 -07:00 |
|
Gabe Black
|
30feb90c1c
|
X86: Add a check type for interrupt gates.
|
2008-10-12 20:33:37 -07:00 |
|
Gabe Black
|
15f5bb3055
|
X86: Fix chks checking the submode for stack segments.
|
2008-10-12 20:29:52 -07:00 |
|
Gabe Black
|
9e1fe2050a
|
X86: Let segment manipulation microops be conditional.
|
2008-10-12 20:25:06 -07:00 |
|
Gabe Black
|
e9158d763a
|
X86: Let the microassembler know about the microcode only H segment.
|
2008-10-12 20:17:38 -07:00 |
|
Gabe Black
|
223fc41c07
|
X86: Fix the rdbase microop
|
2008-10-12 20:07:46 -07:00 |
|
Gabe Black
|
0756dbb37a
|
X86: Don't fetch in the simple CPU if you're in the ROM.
|
2008-10-12 19:32:06 -07:00 |
|
Gabe Black
|
f245358343
|
Get rid of old RegContext code.
|
2008-10-12 17:57:46 -07:00 |
|
Gabe Black
|
cefb768131
|
X86: Create a handy way to access labels from the ROM in microcode.
|
2008-10-12 17:52:51 -07:00 |
|
Gabe Black
|
e5f8092467
|
X86: Make X86's microcode ROM actually do something.
|
2008-10-12 17:48:44 -07:00 |
|
Gabe Black
|
c9ea0b7349
|
CPU: Make the highest order bit in the micro pc determine if it's combinational or from the ROM.
|
2008-10-12 16:59:55 -07:00 |
|
Gabe Black
|
2736086d7c
|
CPU: Create a microcode ROM object in the CPU which is defined by the ISA.
|
2008-10-12 15:59:21 -07:00 |
|
Gabe Black
|
6fd4eff68f
|
X86: Create an eret microop which returns from ROM to combinational decoding.
|
2008-10-12 15:53:04 -07:00 |
|
Gabe Black
|
4aa18aa800
|
X86: Make Br never report itself as the last microop.
|
2008-10-12 15:43:35 -07:00 |
|
Gabe Black
|
77c0e1d110
|
X86: Create a SeqOp class of microops and make Br one of them.
|
2008-10-12 15:33:17 -07:00 |
|
Gabe Black
|
8384ff7d6c
|
X86: Update the stats for cpuid's new implementation
|
2008-10-12 15:31:37 -07:00 |
|
Gabe Black
|
a76c4b8ca1
|
X86: Implement CPUID with a magical function instead of microcode.
|
2008-10-12 15:31:28 -07:00 |
|
Gabe Black
|
d0a43ce2b2
|
X86: Fix the ordering of special physical address ranges.
|
2008-10-12 14:01:06 -07:00 |
|
Gabe Black
|
3a1905157e
|
X86: Create a mechanism for the IO APIC to access I8259 vectors.
|
2008-10-12 13:54:57 -07:00 |
|
Gabe Black
|
c35da8e495
|
X86: Actually use the extra vector bits we get from ICW2.
|
2008-10-12 13:51:48 -07:00 |
|
Gabe Black
|
ec9d3aad71
|
X86: Make the local APIC process interrupts and send them to the CPU.
|
2008-10-12 13:45:21 -07:00 |
|
Gabe Black
|
876f4845f2
|
X86: Make the local APIC handle interrupt messages from the IO APIC.
|
2008-10-12 13:44:24 -07:00 |
|
Gabe Black
|
4d5c7f7038
|
X86: Change the default value for the IO APIC redirection table.
|
2008-10-12 13:35:26 -07:00 |
|
Gabe Black
|
3420ad7644
|
X86: Make the bases for x86 fault class public.
|
2008-10-12 13:29:26 -07:00 |
|
Gabe Black
|
557bde43c3
|
X86: Make APICs communicate through the memory system.
|
2008-10-12 13:28:54 -07:00 |
|
Gabe Black
|
e459013182
|
Create a message port for sending messages as apposed to reading/writing a memory range.
|
2008-10-12 12:08:51 -07:00 |
|
Gabe Black
|
e0f137a87c
|
X86: Add a LocalApic trace flag.
|
2008-10-12 12:07:25 -07:00 |
|
Gabe Black
|
42ebebf99a
|
X86: Make the local APIC accessible through the memory system directly, and make the timer work.
|
2008-10-12 11:08:00 -07:00 |
|
Gabe Black
|
d9f9c967fb
|
Turn Interrupts objects into SimObjects. Also, move local APIC state into x86's Interrupts object.
|
2008-10-12 09:09:56 -07:00 |
|
Gabe Black
|
c4f1cc3b48
|
CPU: Eliminate the get_vec function.
|
2008-10-12 08:24:09 -07:00 |
|
Gabe Black
|
0c3848732e
|
CPU: Add a getInterruptController function
|
2008-10-11 16:13:58 -07:00 |
|
Gabe Black
|
ff29e00112
|
X86: Add entries for the IO APIC to the MP table.
|
2008-10-11 16:12:34 -07:00 |
|