Reboots after "OR AL,1 MOV CR0, EAX" on some computers.
Sergey Zaharchenko
doublef at tele-kom.ru
Fri Jul 16 09:53:10 PDT 2004
On Fri, Jul 16, 2004 at 12:32:24AM +0400,
breath probably wrote:
> Normal:
> When you boot from the floppy you get something like black screen and
> computer hangs up (but not reboots)
>
> Abnormal:
> When you boot from the floppy you get a screen splash and then back to
> reboot POST procedure.
Heh. The only thing I can think of right now is an interrupt not masked
by the cli you issued. You could try inserting a `mov ss, something'
just before the jump. This will prevent any processor from doing any
interrupts, as the immediately next instruction should be `mov sp,
something' (it was documented somewhere). Like
> mov eax, cr0
> or al, 0x1 ; cr0 |= PE
mov dx, 0x8
> mov cr0, eax
mov ss, dx
> jmp 0x10: protected
<snip>
> .gdt0 dw 0x0000, 0x0000, 0x0000, 0x0000
> .data dw 0xFFFF, 0x0000, 0x9200, 0x00CF
> .code dw 0xFFFF, 0x0000, 0x9800, 0x00CF
> .gdtr dw $ - .gdt0 - 1
And why `-1'?
> dd .gdt0
You could also try adding CPUID's between all instructions for
synchronization, in case it's that kind of issue.
> Here goes the code. PLEASE, even if you're not interested in this
> 'puzzle':( MAKE AND TEST IT ON YOUR COMPUTER. EMAIL ME RESULTS AND
> COMPUTER MODEL.
As soon as I have access to the 'puter with nasm, maybe.
P.S. Does booting DOS, and running a DOS-extended program succeed or
fail?
--
DoubleF
New York is real. The rest is done with mirrors.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20040716/78ff6e40/attachment.bin
More information about the freebsd-questions
mailing list