.bss
idtr:
.double
.text
get_gate:
movl $0x80, %eax
sidt idtr
movl idtr+2, %ebx
leal (%ebx, %eax, 8), %ebx
movw (%ebx), %cx <- segfault
as far as i know, i retrieve the correct IDT base, but after the leal
instruction, %ebx has some unusual value. i suspect that either leal
instruction is misimplemented in gcc/as compilers or the kernel doesn`t
give me the right IDT. anyway, it could also be some obscure coding error
but i strongly doubt it.
i cannot find out why is this happening.. i would apreciate any help that i
can get.
best regards,
halfdead
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/