Dear all,

I have been trying to boot a kernel >= 2.6.33 without any success. After a few 
days looking at the issue I got some hints on what may be happening.

When the OS boots an idle core, it sends the core an interruption with a memory 
address pointing to a trampoline code.

Until version 2.6.32, this address was fixed at mem. address 0x6000.
Now it does some kind of memory allocation, and the new address seems to be 
0x10000. Requiring a larger jump than before.

I have manually allocated the 0x6000 address for the trampoline and got a 
2.6.33 kernel to boot, but with lots of memory corruption warnings.

The main cause of the error lies in 
src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py

There is a  "fault "new GeneralProtection(0)", flags=(CEZF,)" instruction after 
checking a segment address "andi t0, t2, 0xFC, flags=(EZF,), dataSize=2"

Commenting this fault leads inmediately to another panic "Far jumps to system 
descriptors aren't implemented".

Has anyone fixed this succesfully?

Thanks a lot for your time.


_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to