2dc07c1d811fa9297fb9f1e50cd5e378476d827b
[seabios.git] / vgasrc / vgaentry.S
1 // Rom layout and bios assembler to C interface.
2 //
3 // Copyright (C) 2009  Kevin O'Connor <kevin@koconnor.net>
4 //
5 // This file may be distributed under the terms of the GNU LGPLv3 license.
6
7
8 /****************************************************************
9  * Include of 16bit C code
10  ****************************************************************/
11
12         .code16gcc
13 #include "vgaccode.16.s"
14
15 #include "config.h" // CONFIG_*
16 #include "entryfuncs.S" // ENTRY_*
17
18
19 /****************************************************************
20  * Rom Header
21  ****************************************************************/
22
23         .section .rom.header
24         .global _rom_header, _rom_header_size, _rom_header_checksum
25 _rom_header:
26         .word 0xaa55
27 _rom_header_size:
28         .byte 0
29 _rom_header_entry:
30         jmp _optionrom_entry
31 _rom_header_checksum:
32         .byte 0
33 _rom_header_other:
34         .space 17
35 _rom_header_pcidata:
36 #if CONFIG_VGA_PCI == 1
37         .word rom_pci_data
38 #else
39         .word 0
40 #endif
41 _rom_header_pnpdata:
42         .word 0
43
44
45 /****************************************************************
46  * Entry points
47  ****************************************************************/
48
49         DECLFUNC _optionrom_entry
50 _optionrom_entry:
51         ENTRY_ARG vga_post
52         lretw
53
54         DECLFUNC entry_10
55 entry_10:
56         ENTRY_ARG handle_10
57         iretw