gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Booting kernels >= 2.6.33

CV
Castillo Villar, Emilio
Mon, Feb 10, 2014 2:50 PM

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.

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.