- Feb 03, 2013
-
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
Local APIC ID is different on x2apic, so we need a virtual function.
-
Avi Kivity authored
Used to initialize the APIC on non-boot processors.
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
-
- Jan 31, 2013
-
-
Avi Kivity authored
Not 100% it is right wrt SNaN, but it will fault if incorrect.
-
- Jan 29, 2013
-
-
Avi Kivity authored
Still with minimal stack, no interrupt support, etc.
-
- Jan 28, 2013
-
-
Avi Kivity authored
Exceptions are challenging on x64 because the ABI reserves 128 bytes below %rsp for local variables; this will be overwritten by an exception or interrupt. We can't use -mno-red-zone because the payload may not have been compiled for it. Instead, use the interrupt stack stack table mechanism and a separate stack for exceptions. May fix random corruptions when timers are used.
-
- Jan 24, 2013
-
-
Guy Zana authored
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
Make some room for the command line and other future additions.
-
Guy Zana authored
-
- Jan 22, 2013
- Jan 20, 2013
-
-
Avi Kivity authored
Needed for pthread_attr_*() (and in general to make sure the stack is a regular vma as expected by the payload).
-
Avi Kivity authored
Keep the first 2MB unmapped for null pointer refernences.
-
Avi Kivity authored
This allows us to clear the area around the null pointer, and so trap errors. The switch is tricky wrt setting up memory, since we need the memory to be mapped in order to free it, but we need free memory to map (for the page tables). What we do is set up a temporart 1:1 map at ffff800000000000 that mirrors the first 1G map we already have from bootstreap, use that to free all of memory under 1G, then map and free everything else.
-
- Jan 17, 2013
-
-
Avi Kivity authored
Initial memory is physical; the mmu converts it to virtual addresses, and then it can be added to the memory pool. Right now there is not much difference, but the 1:1 mapping is moving soon.
-
- Jan 16, 2013
-
-
Avi Kivity authored
-
Avi Kivity authored
Way too noisy
-
Avi Kivity authored
Allow the clockevents driver to use it during startup.
-
Avi Kivity authored
-
Avi Kivity authored
-
- Jan 15, 2013
-
-
Avi Kivity authored
This makes the apic immediately usable.
-
- Jan 11, 2013
-
-
Avi Kivity authored
-
- Jan 10, 2013
-
-
Avi Kivity authored
On a release build, the compiler hoists the computation of current() until after the wrmsr() which changes the TLS base, corrupting it. Insert a barrier to fix.
-
Avi Kivity authored
Harmless.
-
- Jan 08, 2013
-
-
Avi Kivity authored
The ABI requires that the stack be aligned to 16 bytes, so sse can be used. Make it so. Fixes the jvm assembler faulting.
-
- Jan 07, 2013
-
-
Avi Kivity authored
This ensures that initialized thread local variables are loaded into the memory image and are usable.
-
Christoph Hellwig authored
-
Avi Kivity authored
Needed for exception support.
-
- Jan 06, 2013
-
-
Avi Kivity authored
-
Avi Kivity authored
-
- Jan 03, 2013
-
-
Avi Kivity authored
-
Avi Kivity authored
Currently the free memory pool consists of a statically allocated buffer. Replace it with a dynamic query of the amount of memory we actually booted with. (currently limited to 1GB since we haven't mapped anything else yet).
-
Avi Kivity authored
Terminate the stack so gdb doesn't get confused trying to unwind it.
-
Avi Kivity authored
The multiboot stack is not guaranteed to be anywhere in particular, don't use it.
-