added bootstrap_stack so the temporary stack is not in the same place as the page directory

git-svn-id: svn://anubis/hos/trunk@29 5b3e749e-e535-0410-8002-a9bb6afbdfca
This commit is contained in:
josh 2009-07-01 01:53:43 +00:00
parent 981a01ba9b
commit 39ea3f231b
2 changed files with 4 additions and 2 deletions

View File

@ -16,7 +16,7 @@
extern _end, _bss extern _end, _bss
; Symbols from C ; Symbols from C
extern k_bootstrap, page_directory extern k_bootstrap, bootstrap_stack
;------------------------------------------------------- ;-------------------------------------------------------
[section .text] [section .text]
@ -64,7 +64,7 @@ segmented_start:
mov es, cx mov es, cx
mov gs, cx mov gs, cx
mov fs, cx mov fs, cx
mov esp, page_directory+PAGE_SIZE-4 ; set up temporary stack space mov esp, bootstrap_stack+4096-4 ; set up temporary stack space
mov cx, 0x0700 + 'b' mov cx, 0x0700 + 'b'
mov [CONSOLE_MEMORY+160*8+1*2], cx mov [CONSOLE_MEMORY+160*8+1*2], cx

View File

@ -8,6 +8,8 @@
#define DEBUG_LETTER(col,chr) *(u16_t *)(CONSOLE_MEMORY + 160 * 8 + (col) * 2) \ #define DEBUG_LETTER(col,chr) *(u16_t *)(CONSOLE_MEMORY + 160 * 8 + (col) * 2) \
= 0x0700 | (chr) = 0x0700 | (chr)
u8_t bootstrap_stack[4096];
/************************************************************************** /**************************************************************************
* This function is invoked before paging is enabled. Segmentation is * * This function is invoked before paging is enabled. Segmentation is *
* utilized to map virtual address 0xE000_0000 to physical address 0x0. * * utilized to map virtual address 0xE000_0000 to physical address 0x0. *