X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fstartup.s;h=8041c13d404f7bb8fa1fb8217a2bf11ea568359d;hb=4c7af0d72e32cc07c04345bc9fe57a4a32a29695;hp=42e4b21107d0dacf2519e90b8ef94ed538219b06;hpb=eb934abaf0dcfa48589c6ac15f2a2ff235c5aea0;p=bootcensus diff --git a/src/startup.s b/src/startup.s index 42e4b21..8041c13 100644 --- a/src/startup.s +++ b/src/startup.s @@ -15,18 +15,32 @@ # along with this program. If not, see . .code32 - .section .startup + .section .startup,"ax" .extern _bss_start .extern _bss_end + .extern pcboot_main + # move the stack to the top of the conventional memory + movl $0x80000, %esp + + # zero the BSS section xor %eax, %eax - mov _bss_start, %edi - mov _bss_size, %ecx + mov $_bss_start, %edi + mov $_bss_size, %ecx + cmp $0, %ecx + jz skip_bss_zero shr $4, %ecx rep stosl +skip_bss_zero: + call pcboot_main + # pcboot_main never returns +0: cli + hlt + jmp 0b + .global logohack logohack: # copy palette mov $logo_pal, %esi @@ -131,8 +145,6 @@ xval: .long 0 yval: .long 0 frameno: .long 0 -numbuf: .space 16 - logo_pal: .incbin "logo.pal"