blob: d9fe05b605352db049622fa053b4a227e2f34b98 [file] [log] [blame]
Kevin O'Connor1f2c3072009-05-06 23:35:59 -04001// Rom layout and bios assembler to C interface.
2//
Kevin O'Connor36feea92012-02-11 10:49:45 -05003// Copyright (C) 2009-2012 Kevin O'Connor <kevin@koconnor.net>
Kevin O'Connor1f2c3072009-05-06 23:35:59 -04004//
5// This file may be distributed under the terms of the GNU LGPLv3 license.
6
7
Julian Pidancet7c6509c2011-12-19 05:07:55 +00008#include "config.h" // CONFIG_*
Kevin O'Connor1f2c3072009-05-06 23:35:59 -04009#include "entryfuncs.S" // ENTRY_*
10
11
12/****************************************************************
13 * Rom Header
14 ****************************************************************/
15
16 .section .rom.header
Kevin O'Connor36feea92012-02-11 10:49:45 -050017 .code16gcc
Kevin O'Connor1f2c3072009-05-06 23:35:59 -040018 .global _rom_header, _rom_header_size, _rom_header_checksum
19_rom_header:
20 .word 0xaa55
21_rom_header_size:
22 .byte 0
23_rom_header_entry:
24 jmp _optionrom_entry
25_rom_header_checksum:
Kevin O'Connorc9d3c2d2010-01-01 12:53:32 -050026 .byte 0
27_rom_header_other:
Julian Pidancet7c6509c2011-12-19 05:07:55 +000028 .space 17
29_rom_header_pcidata:
30#if CONFIG_VGA_PCI == 1
31 .word rom_pci_data
32#else
33 .word 0
34#endif
35_rom_header_pnpdata:
36 .word 0
Kevin O'Connor72b5e452011-12-23 23:01:48 -050037_rom_header_other2:
38 .word 0
39_rom_header_signature:
40 .asciz "IBM"
Kevin O'Connor1f2c3072009-05-06 23:35:59 -040041
42
43/****************************************************************
44 * Entry points
45 ****************************************************************/
46
Kevin O'Connor9961f992012-01-21 11:53:44 -050047 DECLFUNC entry_104f05
48entry_104f05:
49 ENTRY_ARG vbe_104f05
50 lretw
51
Kevin O'Connor1f2c3072009-05-06 23:35:59 -040052 DECLFUNC _optionrom_entry
53_optionrom_entry:
54 ENTRY_ARG vga_post
55 lretw
56
Kevin O'Connor9f193b92009-05-16 23:31:27 -040057 DECLFUNC entry_10
58entry_10:
59 ENTRY_ARG handle_10
60 iretw