summaryrefslogtreecommitdiff
path: root/core/comboot.inc
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2011-10-18 13:13:06 +0100
committerMatt Fleming <matt.fleming@intel.com>2011-12-01 13:14:05 +0000
commit9f51b69d7c0500e04b3c404bb5138a9234810035 (patch)
treed566e6984457f331288f34d780f15a680334af94 /core/comboot.inc
parentdd5e4935f3e2f8f1940c72d9c3b39a926300c42e (diff)
downloadsyslinux-9f51b69d7c0500e04b3c404bb5138a9234810035.tar.gz
core: Reimplement lots asm code in C
There is an awful lot of code currently implemented in assembly when it could just as easily be implemented in C. Having it in C makes it much easier to share code between the BIOS and forthcoming EFI firmware backend. The following code fragments have been rewritten, - timer initialisation - adjust_screen() - check_esapes() and mem_init() - conio.inc - plaincon.inc - cleanup.inc - serirq.inc - font.inc - graphics - writehex Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'core/comboot.inc')
-rw-r--r--core/comboot.inc14
1 files changed, 10 insertions, 4 deletions
diff --git a/core/comboot.inc b/core/comboot.inc
index b0e118ad..880f5db1 100644
--- a/core/comboot.inc
+++ b/core/comboot.inc
@@ -173,6 +173,7 @@ comboot_setup_api:
; Restore the original state of the COMBOOT API vectors, and free
; any low memory allocated by the comboot module.
;
+ global comboot_cleanup_api
comboot_cleanup_api:
pusha
mov si,DOSSaveVectors
@@ -238,7 +239,7 @@ comboot_int21: sti
mov es,bp
mov bp,sp ; Set up stack frame
- call adjust_screen ; The COMBOOT program might have changed the screen
+ call _adjust_screen ; The COMBOOT program might have changed the screen
mov cx,int21_count
mov si,int21_table
@@ -309,7 +310,7 @@ comboot_exit_msg:
pop bx ; Return address
RESET_STACK_AND_SEGS si ; Contains sti, cld
pm_call comboot_cleanup_lowmem
- call adjust_screen ; The COMBOOT program might have changed the screen
+ call _adjust_screen ; The COMBOOT program might have changed the screen
jcxz .nomsg
mov si,KernelName
call writestr
@@ -425,7 +426,7 @@ comboot_int22:
mov es,bp
mov bp,sp ; Set up stack frame
- call adjust_screen ; The COMBOOT program might have changed the screen
+ call _adjust_screen ; The COMBOOT program might have changed the screen
cmp ax,int22_count
jb .ok
@@ -807,7 +808,7 @@ comapi_usingvga:
mov [GXPixRows],dx
test al,08h
jnz .notext
- call adjust_screen
+ call _adjust_screen
.notext:
clc
ret
@@ -1002,6 +1003,11 @@ feature_flags_len equ ($-feature_flags)
err_notdos db ': attempted DOS system call INT ',0
err_comlarge db 'COMBOOT image too large.', CR, LF, 0
+ global VGAFontSize, UserFont
+ alignz 2
+VGAFontSize dw 16 ; Defaults to 16 byte font
+UserFont db 0 ; Using a user-specified font
+
section .bss16
alignb 4
DOSErrTramp resd 33 ; Error trampolines