[ 0.000000] Linux version 3.2.0-26-generic (buildd@batsu) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #41-Ubuntu SMP Thu Jun 14 17:49:24 UTC 2012 (Ubuntu 3.2.0-26.41-generic 3.2.19)
…
[ 0.067077] CPU0: Intel® Pentium® Dual CPU T3200 @ 2.00GHz stepping 0d
(
for i in `seq 3`; do ./lastmsg a & ./lastmsg b & ./lastmsg c & done; wait
./lastmsg -d
) > temp
for i in `seq 3`; do ./lastmsg a >> temp & ./lastmsg b >> temp & ./lastmsg c >> temp & done; wait
memmap=nn[KMG]$ss[KMG]
[KNL,ACPI] Mark specific memory as reserved.
Region of memory to be used, from ss to ss+nn.
Example: Exclude memory from 0x18690000-0x1869ffff
memmap=64K$0x18690000
or
memmap=0x10000$0x18690000
защищенный режим и доступ к портам из третьего кольца — вещи не совместимые
Although the RSP alignment is always performed when LMA = 1, it is only of consequence for the kernel-mode case where there is no stack switch or IST used. For a stack switch or IST, the OS would have presumably put suitably aligned RSP values in the TSS.
$ gdb
(gdb) set architecture i386:x86-64
(gdb) target remote 127.0.0.1:1234
Remote debugging using 127.0.0.1:1234
0x00000000001000df in ?? ()
(gdb) display/2i $pc
1: x/2i $pc
=> 0x1000df: jmp 0x1000df
0x1000e1: xor %rcx,%rcx
(gdb) p/x $pc=0x1000e1
$1 = 0x1000e1
(gdb) si
0x00000000001000e4 in ?? ()
1: x/2i $pc
=> 0x1000e4: div %rcx
0x1000e7: addq $0x1,0xb8000
(gdb)
0x00000000001000fa in ?? ()
1: x/2i $pc
=> 0x1000fa: iretq
0x1000fc: add %al,(%rax)
(gdb)
0x00000000001000e4 in ?? ()
1: x/2i $pc
=> 0x1000e4: div %rcx
0x1000e7: addq $0x1,0xb8000
(gdb)
0x00000000001000e7 in ?? ()
1: x/2i $pc
=> 0x1000e7: addq $0x1,0xb8000
0x1000f0: jmp 0x1000df
...