mirror of
https://github.com/xomboverlord/xomb-bare-bones.git
synced 2026-01-11 18:33:15 +01:00
I have added a 32-bit build. I had to enable SSE for it to work! Also, I updated the GRUB stage2 so that I do not get any unsupported binary formats or whatever anymore.
Signed-off-by: The XOmB Overlord <overlord@xomb.net>
This commit is contained in:
committed by
The XOmB Overlord
parent
9d7a7dbb91
commit
49379a5d11
Binary file not shown.
@@ -59,8 +59,19 @@ _start:
|
||||
mov esp, stack+STACK_SIZE
|
||||
|
||||
; pass multiboot information
|
||||
push eax
|
||||
push ebx
|
||||
push eax
|
||||
|
||||
; enable SSE
|
||||
mov ecx, cr0
|
||||
btr ecx, 2 ; clear CR0.EM bit
|
||||
bts ecx, 1 ; set CR0.MP bit
|
||||
mov cr0, ecx
|
||||
|
||||
mov ecx, cr4
|
||||
bts ecx, 9 ; set CR4.OSFXSR bit
|
||||
bts ecx, 10 ; set CR4.OSXMMEXCPT bit
|
||||
mov cr4, ecx
|
||||
|
||||
; call kmain
|
||||
call kmain
|
||||
|
||||
@@ -363,7 +363,7 @@ char[] itoa(char[] buf, char base, long d)
|
||||
if(base == 'd' && d < 0)
|
||||
{
|
||||
negative = true;
|
||||
ud = -d;
|
||||
ud = 0 - d;
|
||||
}
|
||||
else if(base == 'x')
|
||||
divisor = 16;
|
||||
|
||||
Reference in New Issue
Block a user