vgabios: Place a signature at offset 0x1e of the rom.
[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 _rom_header_other2:
44         .word 0
45 _rom_header_signature:
46         .asciz "IBM"
47
48
49 /****************************************************************
50  * Entry points
51  ****************************************************************/
52
53         DECLFUNC _optionrom_entry
54 _optionrom_entry:
55         ENTRY_ARG vga_post
56         lretw
57
58         DECLFUNC entry_10
59 entry_10:
60         ENTRY_ARG handle_10
61         iretw