Fixed linker warning about missing _NtProcessStartup()

svn path=/trunk/; revision=1421
This commit is contained in:
Eric Kohl 2000-11-01 12:45:53 +00:00
parent 55a9a7623e
commit e7f86f45fb
2 changed files with 51 additions and 56 deletions

View file

@ -3,16 +3,12 @@
#define NR_TASKS 128
.globl _start
.globl _mainCRTStartup
.globl start
.globl _DllMainCRTStartup@12
.globl _NtProcessStartup
.globl _init_stack
.globl _init_stack_top
_DllMainCRTStartup@12:
_mainCRTStartup:
_NtProcessStartup:
_start:
start:
lidt _idt_descr
lgdt _gdt_descr

View file

@ -9,11 +9,12 @@
#define MULTIBOOT_HEADER_FLAGS (0x00010003)
.globl _NtProcessStartup
.globl _start
.globl _init_stack
.globl _init_stack_top
/*
/*
* This is called by the realmode loader, with protected mode
* enabled, paging disabled and the segment registers pointing
* a 4Gb, 32-bit segment starting at zero.
@ -22,8 +23,9 @@
* loader
*/
_NtProcessStartup:
_start:
jmp _multiboot_entry
jmp _multiboot_entry
/* Align 32 bits boundary */
.align 4
@ -60,35 +62,35 @@ _multiboot_entry:
movl %cr0, %edx
orl $0x80000000, %edx
movl %edx, %cr0
movl $l2, %edx
movl $l2, %edx
jmp *%edx
l2:
/*
/*
* Load the GDTR and IDTR with new tables located above
* 0xc0000000
*/
lgdt _gdt_descr
lidt _idt_descr
lgdt _gdt_descr
lidt _idt_descr
/*
* Reload the data segment registers
*/
movl $KERNEL_DS, %edx
movl %edx, %ds
movl %edx, %es
movl %edx, %fs
movl %edx, %gs
movl %edx, %ss
movl $KERNEL_DS, %edx
movl %edx, %ds
movl %edx, %es
movl %edx, %fs
movl %edx, %gs
movl %edx, %ss
/*
* Load the initial ring0 stack
*/
movl $_init_stack_top, %esp
movl $_init_stack_top, %esp
/*
* Initialize EFLAGS
*/
pushl $0
pushl $0
popfl
/*
@ -99,23 +101,23 @@ l2:
/*
* Zero the BSS
*/
movl %eax, %edx
movl $0, %eax
movl $__bss_end__, %ecx
subl $__bss_start__, %ecx
movl $__bss_start__, %edi
movl %eax, %edx
movl $0, %eax
movl $__bss_end__, %ecx
subl $__bss_start__, %ecx
movl $__bss_start__, %edi
rep
stosl
/*
* Call the main ring0 initialization
*/
pushl %ebx
pushl %edx
pushl $0
pushl $KERNEL_CS
pushl $__main
lret
pushl %ebx
pushl %edx
pushl $0
pushl $KERNEL_CS
pushl $__main
lret
/*
* This needs to be page aligned so put it at the beginning of the data
@ -123,7 +125,7 @@ l2:
*/
.data
startup_pagedirectory:
/* 0x00000000 */
/* 0x00000000 */
.long lowmem_pagetable - 0xc0000000 + 0x200000 + 0x7,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000
/* 0x02000000 */
.long 0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000
@ -706,17 +708,14 @@ lowmem_pagetable:
.long 0x3f8007,0x3f9007,0x3fa007,0x3fb007,0x3fc007,0x3fd007,0x3fe007,0x3ff007
_gdt_descr:
.word ((8+NR_TASKS)*8)-1
.word ((8+NR_TASKS)*8)-1
.long _KiGdt
_idt_descr:
.word (256*8)-1
.word (256*8)-1
.long _KiIdt
_init_stack:
.fill 4096,1,0
.fill 4096,1,0
_init_stack_top: