static void bda_init(void) { dprintf(3, "init bda\n"); struct bios_data_area_s *bda = MAKE_FLATPTR(SEG_BDA, 0); memset(bda, 0, sizeof(*bda)); int esize = EBDA_SIZE_START; u16 ebda_seg = EBDA_SEGMENT_START; extern u8 final_varlow_start[]; if (!CONFIG_MALLOC_UPPERMEMORY) ebda_seg = FLATPTR_TO_SEG(ALIGN_DOWN((u32)final_varlow_start, 1024) - EBDA_SIZE_START*1024); SET_BDA(ebda_seg, ebda_seg); SET_BDA(mem_size_kb, ebda_seg / (1024/16)); // Init ebda struct extended_bios_data_area_s *ebda = get_ebda_ptr(); memset(ebda, 0, sizeof(*ebda)); ebda->size = esize; add_e820((u32)ebda, BUILD_LOWRAM_END-(u32)ebda, E820_RESERVED); // Init extra stack StackPos = (void*)(&ExtraStack[BUILD_EXTRA_STACK_SIZE] - zonelow_base); }
static void bda_init(void) { dprintf(3, "init bda\n"); struct bios_data_area_s *bda = MAKE_FLATPTR(SEG_BDA, 0); memset(bda, 0, sizeof(*bda)); #if CONFIG_INT10_SERIAL_CONSOLE // set the default INT10 to serial console value #if CONFIG_CHECK_CMOS_SETTING_FOR_CONSOLE_ENABLE if (!cmos_serial_console_debug_level) SET_BDA(video_mode, UART_OUTPUT_DISABLED); else SET_BDA(video_mode, UART_OUTPUT_ENABLED); #else SET_BDA(video_mode, UART_OUTPUT_ENABLED); #endif #endif int esize = EBDA_SIZE_START; u16 ebda_seg = EBDA_SEGMENT_START; extern u8 final_varlow_start[]; if (!CONFIG_MALLOC_UPPERMEMORY) ebda_seg = FLATPTR_TO_SEG(ALIGN_DOWN((u32)final_varlow_start, 1024) - EBDA_SIZE_START*1024); SET_BDA(ebda_seg, ebda_seg); SET_BDA(mem_size_kb, ebda_seg / (1024/16)); // Init ebda struct extended_bios_data_area_s *ebda = get_ebda_ptr(); memset(ebda, 0, sizeof(*ebda)); ebda->size = esize; add_e820((u32)ebda, BUILD_LOWRAM_END-(u32)ebda, E820_RESERVED); // Init extra stack StackPos = (void*)(&ExtraStack[BUILD_EXTRA_STACK_SIZE] - zonelow_base); }
static void init_bda(void) { dprintf(3, "init bda\n"); struct bios_data_area_s *bda = MAKE_FLATPTR(SEG_BDA, 0); memset(bda, 0, sizeof(*bda)); int esize = EBDA_SIZE_START; SET_BDA(mem_size_kb, BUILD_LOWRAM_END/1024 - esize); u16 ebda_seg = EBDA_SEGMENT_START; SET_BDA(ebda_seg, ebda_seg); // Init ebda struct extended_bios_data_area_s *ebda = get_ebda_ptr(); memset(ebda, 0, sizeof(*ebda)); ebda->size = esize; add_e820((u32)MAKE_FLATPTR(ebda_seg, 0), GET_EBDA(ebda_seg, size) * 1024 , E820_RESERVED); // Init extra stack StackPos = (void*)(&ExtraStack[BUILD_EXTRA_STACK_SIZE] - datalow_base); }