Interrupt wrapping and code simplifications.
* Makefile.util.def (grub-mkrescue): Use x86 tg instead of x86_noieee1275 which are functionaly equivalent in this case. (grub-install): Make source on each platform explicit. Enable on all noemu. * gentpl.py (x86_efi_pc): Removed group. (x86_noefi): Likewise. (i386_noefi): Likewise. (x86_noieee1275): Likewise. (i386_noieee1275): Likewise. (i386_noefi_noieee1275): Likewise. (i386_pc_qemu_coreboot): Likewise. (i386_coreboot_multiboot): Likewise. (i386_pc_coreboot_multiboot_qemu): Likewise. (x86_noefi_mips): Likewise. (noieee1275): Likewise. (ieee1275_mips): Likewise. (noemu_noieee1275): Likewise. (cmos): New group. (usb): Likewise. (videoinkernel): Likewise. (videomodules): Likewise. * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove include/grub/elf.h, include/grub/elfload.h, include/grub/net.h, include/grub/reader.h, include/grub/symbol.h, include/grub/types.h, include/grub/loader.h, include/grub/msdos_partition.h, include/grub/machine/biosdisk.h, include/grub/machine/boot.h, include/grub/machine/console.h, include/grub/machine/vga.h, include/grub/machine/vbe.h, include/grub/machine/init.h, include/grub/machine/kernel.h, include/grub/cpu/time.h, include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h. (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h * grub-core/Makefile.core.def (kernel): Explicit the source for startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c. Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S. Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c. Use videoinkernel tag. (usb): Enable on all usb. (usbserial_common): Likewise. (usbserial_pl2303): Likewise. (usbserial_ftdi): Likewise. (uhci): Enable on all x86. (ohci): Enable on all pci. (cmostest): Enable on all CMOS. (acpi): Include commands/acpi.c on all platforms. (halt): Add relevant lib/*/halt.c. (hdparm): Enable on all pci. (lspci): Likewise. (usbtest): Enable on all usb. (ata): Enable on all pci. (ata_pthru): Likewise. (usbms): Enable on all usb. (usb_keyboard): Likewise. (font): Use tag videomodules. (bufio): Likewise. (datetime): Use tag cmos. Enable on all noemu. (mmap): Use tags common and x86. (gfxterm): Use tag videomodules. (bitmap): Likewise. (bitmap_scale): Likewise. (video_fb): Likewise. (video): Likewise. * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and adjust padding accordingly. All users updated. (grub_ohci_transaction): Fix bad format specification. (GRUB_MOD_INIT): Add asserts for struct size. * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts. (grub_alloc_td): Likewise. (grub_free_queue): Likewise. (grub_uhci_transfer): Likewise. (grub_uhci_transaction): Fix bad format specification. * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise. (grub_usb_bulk_readwrite): Likewise. * grub-core/kern/i386/misc.S (grub_stop): Moved from here ... * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C. Made static. * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ... * grub-core/commands/i386/pc/halt.c (grub_halt): ...here. Transformed into C. * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions): Moved from here ... * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions): ... here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard): Moved from here ... * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard): ... here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_biosdisk_check_int13_extensions): Moved from here ... * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_check_int13_extensions): ... here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ... * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_cdinfo_int13_extensions): ... here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ... * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_int13_extensions): ... here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_standard): Moved from here ... * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_standard): ... here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_biosdisk_get_num_floppies): Moved from here ... * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_num_floppies): ... here. Transformed into C. Made static. * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real): New function. * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ... * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ... * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here. Transformed into C. Made static. * grub-core/kern/i386/ieee1275/init.c: Removed. * grub-core/kern/i386/misc.S: Likewise. * grub-core/kern/i386/pc/startup.S (grub_get_memsize): Splitted from here ... * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here. Transformed into C. Made static. All users updated. * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here. Transformed into C. Made static. All users updated. * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap): Moved from here... * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here. Transformed into C. Made static. All users updated. * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry): Moved from here... * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here. Transformed into C. Made static. All users updated. * grub-core/kern/i386/pc/startup.S (grub_stop_floppy): Removed (replaced by C version). * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode): Moved from here... * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info): Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info): ... here. Transformed into C. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info): Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info): ... here. Transformed into C. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode): Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode): ... here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode): Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode): ... here. Transformed into C. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width):Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window): Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window): ... here. Transformed into C. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window): Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window): ... here. Transformed into C. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length): Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length): ... here. Transformed into C. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length): Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length): ... here. Transformed into C. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start): Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start): ... here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start): Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start): ... here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data): Moved from here... * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data): ... here. Transformed into C. Made static. * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive pxe_rm_entry as third argument. (grub_bios_interrupt): New function. * grub-core/kern/i386/qemu/mmap.c: Remove useless include. * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead of calling grub_stop. * grub-core/kern/efi/efi.c (grub_halt): Moved from here ... * grub-core/lib/efi/halt.c (grub_halt): ...here. * grub-core/kern/emu/main.c (grub_halt): Moved from here ... * grub-core/lib/emu/halt.c (grub_halt): ... here. * grub-core/lib/i386/halt.c: Moved from here ... * grub-core/lib/i386/halt.c: ... here. * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ... * grub-core/lib/ieee1275/halt.c (grub_halt): ... here. * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call grub_stop_floppy. * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable. * include/grub/i386/coreboot/init.h: Removed. * include/grub/i386/multiboot/init.h: Likewise. * include/grub/i386/pc/biosdisk.h: Removed all function prototypes. * include/grub/i386/pc/init.h: Likewise except grub_gate_a20. * include/grub/i386/pc/int.h: New file. * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition. (grub_pxe_scan): Removed. (grub_pxe_call): Update prototype. * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless prototypes. * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed. * include/grub/i386/qemu/init.h: Removed. * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing noreturn. (grub_halt): Likewise. * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC. (grub_reboot): Likewise. * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here... * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined. * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
This commit is contained in:
commit
21ed554bb0
39 changed files with 1284 additions and 1501 deletions
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2009,2010 Free Software Foundation, Inc.
|
||||
*
|
||||
* GRUB is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -16,13 +16,21 @@
|
|||
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef GRUB_INIT_I386_LINUXBIOS_HEADER
|
||||
#define GRUB_INIT_I386_LINUXBIOS_HEADER 1
|
||||
#ifndef GRUB_FLOPPY_CPU_HEADER
|
||||
#define GRUB_FLOPPY_CPU_HEADER 1
|
||||
|
||||
#include <grub/symbol.h>
|
||||
#include <grub/i386/pc/memory.h>
|
||||
#define GRUB_FLOPPY_REG_DIGITAL_OUTPUT 0x3f2
|
||||
|
||||
void EXPORT_FUNC(grub_stop) (void) __attribute__ ((noreturn));
|
||||
void EXPORT_FUNC(grub_stop_floppy) (void);
|
||||
#ifndef ASM_FILE
|
||||
#include <grub/cpu/io.h>
|
||||
|
||||
/* Stop the floppy drive from spinning, so that other software is
|
||||
jumped to with a known state. */
|
||||
static inline void
|
||||
grub_stop_floppy (void)
|
||||
{
|
||||
grub_outb (0, GRUB_FLOPPY_REG_DIGITAL_OUTPUT);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
|
@ -1 +0,0 @@
|
|||
#include <grub/i386/coreboot/init.h>
|
|
@ -106,21 +106,4 @@ struct grub_biosdisk_dap
|
|||
grub_uint64_t block;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
int EXPORT_FUNC(grub_biosdisk_rw_int13_extensions) (int ah, int drive, void *dap);
|
||||
int EXPORT_FUNC(grub_biosdisk_rw_standard) (int ah, int drive, int coff, int hoff,
|
||||
int soff, int nsec, int segment);
|
||||
int EXPORT_FUNC(grub_biosdisk_check_int13_extensions) (int drive);
|
||||
int EXPORT_FUNC(grub_biosdisk_get_diskinfo_int13_extensions) (int drive,
|
||||
void *drp);
|
||||
int EXPORT_FUNC(grub_biosdisk_get_cdinfo_int13_extensions) (int drive,
|
||||
void *cdrp);
|
||||
int EXPORT_FUNC(grub_biosdisk_get_diskinfo_standard) (int drive,
|
||||
unsigned long *cylinders,
|
||||
unsigned long *heads,
|
||||
unsigned long *sectors);
|
||||
int EXPORT_FUNC(grub_biosdisk_get_num_floppies) (void);
|
||||
|
||||
void grub_biosdisk_init (void);
|
||||
void grub_biosdisk_fini (void);
|
||||
|
||||
#endif /* ! GRUB_BIOSDISK_MACHINE_HEADER */
|
||||
|
|
|
@ -22,23 +22,9 @@
|
|||
#include <grub/types.h>
|
||||
#include <grub/symbol.h>
|
||||
#include <grub/machine/memory.h>
|
||||
|
||||
/* Get the memory size in KB. If EXTENDED is zero, return conventional
|
||||
memory, otherwise return extended memory. */
|
||||
grub_uint16_t grub_get_memsize (int extended);
|
||||
|
||||
/* Get a packed EISA memory map. Lower 16 bits are between 1MB and 16MB
|
||||
in 1KB parts, and upper 16 bits are above 16MB in 64KB parts. */
|
||||
grub_uint32_t grub_get_eisa_mmap (void);
|
||||
|
||||
/* Get a memory map entry. Return next continuation value. Zero means
|
||||
the end. */
|
||||
grub_uint32_t grub_get_mmap_entry (struct grub_machine_mmap_entry *entry,
|
||||
grub_uint32_t cont);
|
||||
#include <grub/cpu/floppy.h>
|
||||
|
||||
/* Turn on/off Gate A20. */
|
||||
void grub_gate_a20 (int on);
|
||||
|
||||
void EXPORT_FUNC(grub_stop_floppy) (void);
|
||||
|
||||
#endif /* ! GRUB_INIT_MACHINE_HEADER */
|
||||
|
|
52
include/grub/i386/pc/int.h
Normal file
52
include/grub/i386/pc/int.h
Normal file
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 2009 Free Software Foundation, Inc.
|
||||
*
|
||||
* GRUB is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* GRUB is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef GRUB_INTERRUPT_MACHINE_HEADER
|
||||
#define GRUB_INTERRUPT_MACHINE_HEADER 1
|
||||
|
||||
#include <grub/symbol.h>
|
||||
|
||||
struct grub_bios_int_registers
|
||||
{
|
||||
grub_uint32_t eax;
|
||||
grub_uint16_t es;
|
||||
grub_uint16_t ds;
|
||||
grub_uint16_t flags;
|
||||
grub_uint16_t dummy;
|
||||
grub_uint32_t ebx;
|
||||
grub_uint32_t ecx;
|
||||
grub_uint32_t edi;
|
||||
grub_uint32_t esi;
|
||||
grub_uint32_t edx;
|
||||
};
|
||||
|
||||
#define GRUB_CPU_INT_FLAGS_CARRY 0x1
|
||||
#define GRUB_CPU_INT_FLAGS_PARITY 0x4
|
||||
#define GRUB_CPU_INT_FLAGS_ADJUST 0x10
|
||||
#define GRUB_CPU_INT_FLAGS_ZERO 0x40
|
||||
#define GRUB_CPU_INT_FLAGS_SIGN 0x80
|
||||
#define GRUB_CPU_INT_FLAGS_TRAP 0x100
|
||||
#define GRUB_CPU_INT_FLAGS_INTERRUPT 0x200
|
||||
#define GRUB_CPU_INT_FLAGS_DIRECTION 0x400
|
||||
#define GRUB_CPU_INT_FLAGS_OVERFLOW 0x800
|
||||
#define GRUB_CPU_INT_FLAGS_DEFAULT GRUB_CPU_INT_FLAGS_INTERRUPT
|
||||
|
||||
void EXPORT_FUNC (grub_bios_interrupt) (grub_uint8_t intno,
|
||||
struct grub_bios_int_registers *regs);
|
||||
|
||||
#endif
|
|
@ -168,6 +168,8 @@
|
|||
|
||||
#ifndef ASM_FILE
|
||||
|
||||
#define GRUB_PXE_SIGNATURE "PXENV+"
|
||||
|
||||
struct grub_pxenv
|
||||
{
|
||||
grub_uint8_t signature[6]; /* 'PXENV+'. */
|
||||
|
@ -302,8 +304,7 @@ struct grub_pxenv_unload_stack
|
|||
grub_uint8_t reserved[10];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct grub_pxenv * EXPORT_FUNC(grub_pxe_scan) (void);
|
||||
int EXPORT_FUNC(grub_pxe_call) (int func, void * data);
|
||||
int EXPORT_FUNC(grub_pxe_call) (int func, void * data, grub_uint32_t pxe_rm_entry);
|
||||
|
||||
extern struct grub_pxenv *grub_pxe_pxenv;
|
||||
|
||||
|
|
|
@ -169,56 +169,40 @@ struct grub_vbe_palette_data
|
|||
grub_uint8_t alignment;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/* Prototypes for kernel real mode thunks. */
|
||||
|
||||
/* Prototypes for helper functions. */
|
||||
/* Call VESA BIOS 0x4f00 to get VBE Controller Information, return status. */
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_get_controller_info) (struct grub_vbe_info_block *controller_info);
|
||||
|
||||
grub_vbe_status_t
|
||||
grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *controller_info);
|
||||
/* Call VESA BIOS 0x4f01 to get VBE Mode Information, return status. */
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_get_mode_info) (grub_uint32_t mode,
|
||||
struct grub_vbe_mode_info_block *mode_info);
|
||||
grub_vbe_status_t
|
||||
grub_vbe_bios_get_mode_info (grub_uint32_t mode,
|
||||
struct grub_vbe_mode_info_block *mode_info);
|
||||
/* Call VESA BIOS 0x4f03 to return current VBE Mode, return status. */
|
||||
grub_vbe_status_t
|
||||
grub_vbe_bios_get_mode (grub_uint32_t *mode);
|
||||
/* Call VESA BIOS 0x4f05 to set memory window, return status. */
|
||||
grub_vbe_status_t
|
||||
grub_vbe_bios_set_memory_window (grub_uint32_t window, grub_uint32_t position);
|
||||
/* Call VESA BIOS 0x4f05 to return memory window, return status. */
|
||||
grub_vbe_status_t
|
||||
grub_vbe_bios_get_memory_window (grub_uint32_t window,
|
||||
grub_uint32_t *position);
|
||||
/* Call VESA BIOS 0x4f06 to set scanline length (in bytes), return status. */
|
||||
grub_vbe_status_t
|
||||
grub_vbe_bios_set_scanline_length (grub_uint32_t length);
|
||||
/* Call VESA BIOS 0x4f06 to return scanline length (in bytes), return status. */
|
||||
grub_vbe_status_t
|
||||
grub_vbe_bios_get_scanline_length (grub_uint32_t *length);
|
||||
/* Call VESA BIOS 0x4f07 to get display start, return status. */
|
||||
grub_vbe_status_t
|
||||
grub_vbe_bios_get_display_start (grub_uint32_t *x,
|
||||
grub_uint32_t *y);
|
||||
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_getset_dac_palette_width) (int set, int *width);
|
||||
grub_vbe_status_t grub_vbe_bios_getset_dac_palette_width (int set, int *width);
|
||||
|
||||
#define grub_vbe_bios_get_dac_palette_width(width) grub_vbe_bios_getset_dac_palette_width(0, (width))
|
||||
#define grub_vbe_bios_set_dac_palette_width(width) grub_vbe_bios_getset_dac_palette_width(1, (width))
|
||||
|
||||
/* Call VESA BIOS 0x4f02 to set video mode, return status. */
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_set_mode) (grub_uint32_t mode,
|
||||
struct grub_vbe_crtc_info_block *crtc_info);
|
||||
|
||||
/* Call VESA BIOS 0x4f03 to return current VBE Mode, return status. */
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_get_mode) (grub_uint32_t *mode);
|
||||
|
||||
/* Call VESA BIOS 0x4f05 to set memory window, return status. */
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_set_memory_window) (grub_uint32_t window,
|
||||
grub_uint32_t position);
|
||||
|
||||
/* Call VESA BIOS 0x4f05 to return memory window, return status. */
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_get_memory_window) (grub_uint32_t window,
|
||||
grub_uint32_t *position);
|
||||
|
||||
/* Call VESA BIOS 0x4f06 to set scanline length (in bytes), return status. */
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_set_scanline_length) (grub_uint32_t length);
|
||||
|
||||
/* Call VESA BIOS 0x4f06 to return scanline length (in bytes), return status. */
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_get_scanline_length) (grub_uint32_t *length);
|
||||
|
||||
/* Call VESA BIOS 0x4f07 to set display start, return status. */
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_set_display_start) (grub_uint32_t x,
|
||||
grub_uint32_t y);
|
||||
|
||||
/* Call VESA BIOS 0x4f07 to get display start, return status. */
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_get_display_start) (grub_uint32_t *x,
|
||||
grub_uint32_t *y);
|
||||
|
||||
/* Call VESA BIOS 0x4f09 to set palette data, return status. */
|
||||
grub_vbe_status_t EXPORT_FUNC(grub_vbe_bios_set_palette_data) (grub_uint32_t color_count,
|
||||
grub_uint32_t start_index,
|
||||
struct grub_vbe_palette_data *palette_data);
|
||||
|
||||
/* Prototypes for helper functions. */
|
||||
|
||||
grub_err_t grub_vbe_probe (struct grub_vbe_info_block *info_block);
|
||||
grub_err_t grub_vbe_set_video_mode (grub_uint32_t mode,
|
||||
struct grub_vbe_mode_info_block *mode_info);
|
||||
|
|
|
@ -25,7 +25,4 @@
|
|||
/* The VGA (at the beginning of upper memory). */
|
||||
#define GRUB_MEMORY_MACHINE_VGA_ADDR GRUB_MEMORY_MACHINE_UPPER
|
||||
|
||||
/* Set the video mode to MODE and return the previous mode. */
|
||||
unsigned char EXPORT_FUNC(grub_vga_set_mode) (unsigned char mode);
|
||||
|
||||
#endif /* ! GRUB_VGA_MACHINE_HEADER */
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
#include <grub/i386/coreboot/init.h>
|
|
@ -23,8 +23,8 @@
|
|||
|
||||
#ifndef ASM_FILE
|
||||
|
||||
void EXPORT_FUNC (grub_reboot) (void);
|
||||
void EXPORT_FUNC (grub_halt) (void);
|
||||
void EXPORT_FUNC (grub_reboot) (void) __attribute__ ((noreturn));
|
||||
void EXPORT_FUNC (grub_halt) (void) __attribute__ ((noreturn));
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -321,9 +321,9 @@ void EXPORT_FUNC (grub_reboot) (void) __attribute__ ((noreturn));
|
|||
#ifdef GRUB_MACHINE_PCBIOS
|
||||
/* Halt the system, using APM if possible. If NO_APM is true, don't
|
||||
* use APM even if it is available. */
|
||||
void EXPORT_FUNC (grub_halt) (int no_apm) __attribute__ ((noreturn));
|
||||
void grub_halt (int no_apm) __attribute__ ((noreturn));
|
||||
#else
|
||||
void EXPORT_FUNC (grub_halt) (void) __attribute__ ((noreturn));
|
||||
void grub_halt (void) __attribute__ ((noreturn));
|
||||
#endif
|
||||
|
||||
#ifdef GRUB_MACHINE_EMU
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue