merged with mainline
This commit is contained in:
commit
c41c00eab6
99 changed files with 20896 additions and 2748 deletions
|
|
@ -25,7 +25,7 @@
|
|||
extern const char *(*EXPORT_VAR(grub_gettext)) (const char *s);
|
||||
|
||||
/* NLS can be disabled through the configure --disable-nls option. */
|
||||
#if ENABLE_NLS
|
||||
#if (defined(ENABLE_NLS) && ENABLE_NLS)
|
||||
|
||||
# ifdef GRUB_UTIL
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ extern const char *(*EXPORT_VAR(grub_gettext)) (const char *s);
|
|||
|
||||
# endif /* GRUB_UTIL */
|
||||
|
||||
#else /* ! ENABLE_NLS */
|
||||
#else /* ! (defined(ENABLE_NLS) && ENABLE_NLS) */
|
||||
|
||||
/* Disabled NLS.
|
||||
The casts to 'const char *' serve the purpose of producing warnings
|
||||
|
|
@ -47,7 +47,7 @@ extern const char *(*EXPORT_VAR(grub_gettext)) (const char *s);
|
|||
# define grub_gettext(str) ((const char *) (str))
|
||||
# endif /* GRUB_UTIL */
|
||||
|
||||
#endif /* ENABLE_NLS */
|
||||
#endif /* (defined(ENABLE_NLS) && ENABLE_NLS) */
|
||||
|
||||
#ifdef GRUB_UTIL
|
||||
# define _(str) gettext(str)
|
||||
|
|
|
|||
|
|
@ -19,17 +19,23 @@
|
|||
#ifndef GRUB_MULTIBOOT_CPU_HEADER
|
||||
#define GRUB_MULTIBOOT_CPU_HEADER 1
|
||||
|
||||
/* The asm part of the multiboot loader. */
|
||||
void grub_multiboot_real_boot (grub_addr_t entry,
|
||||
struct multiboot_info *mbi)
|
||||
__attribute__ ((noreturn));
|
||||
void grub_multiboot2_real_boot (grub_addr_t entry,
|
||||
struct multiboot_info *mbi)
|
||||
__attribute__ ((noreturn));
|
||||
|
||||
extern grub_uint32_t grub_multiboot_payload_eip;
|
||||
extern char *grub_multiboot_payload_orig;
|
||||
extern grub_addr_t grub_multiboot_payload_dest;
|
||||
extern grub_size_t grub_multiboot_payload_size;
|
||||
|
||||
#define MULTIBOOT_INITIAL_STATE { .eax = MULTIBOOT_BOOTLOADER_MAGIC, \
|
||||
.ecx = 0, \
|
||||
.edx = 0, \
|
||||
/* Set esp to some random location in low memory to avoid breaking */ \
|
||||
/* non-compliant kernels. */ \
|
||||
.esp = 0x7ff00 \
|
||||
}
|
||||
#define MULTIBOOT_ENTRY_REGISTER eip
|
||||
#define MULTIBOOT_MBI_REGISTER ebx
|
||||
#define MULTIBOOT_ARCHITECTURE_CURRENT MULTIBOOT_ARCHITECTURE_I386
|
||||
|
||||
#define MULTIBOOT_ELF32_MACHINE EM_386
|
||||
#define MULTIBOOT_ELF64_MACHINE EM_X86_64
|
||||
|
||||
#endif /* ! GRUB_MULTIBOOT_CPU_HEADER */
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ grub_uint32_t grub_get_eisa_mmap (void);
|
|||
|
||||
/* Get a memory map entry. Return next continuation value. Zero means
|
||||
the end. */
|
||||
grub_uint32_t EXPORT_FUNC(grub_get_mmap_entry) (struct grub_machine_mmap_entry *entry,
|
||||
grub_uint32_t grub_get_mmap_entry (struct grub_machine_mmap_entry *entry,
|
||||
grub_uint32_t cont);
|
||||
|
||||
/* Turn on/off Gate A20. */
|
||||
|
|
|
|||
|
|
@ -28,7 +28,4 @@
|
|||
/* Set the video mode to MODE and return the previous mode. */
|
||||
unsigned char EXPORT_FUNC(grub_vga_set_mode) (unsigned char mode);
|
||||
|
||||
/* Return a pointer to the ROM font table. */
|
||||
unsigned char *EXPORT_FUNC(grub_vga_get_font) (void);
|
||||
|
||||
#endif /* ! GRUB_VGA_MACHINE_HEADER */
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ grub_bad_type_cast_real (int line, const char *file)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#define grub_bad_type_cast() grub_bad_type_cast_real(__LINE__, __FILE__)
|
||||
#define grub_bad_type_cast() grub_bad_type_cast_real(__LINE__, GRUB_FILE)
|
||||
|
||||
#define GRUB_FIELD_MATCH(ptr, type, field) \
|
||||
((char *) &(ptr)->field == (char *) &((type) (ptr))->field)
|
||||
|
|
|
|||
36
include/grub/mips/multiboot.h
Normal file
36
include/grub/mips/multiboot.h
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 2002,2003,2004,2007,2008,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_MULTIBOOT_CPU_HEADER
|
||||
#define GRUB_MULTIBOOT_CPU_HEADER 1
|
||||
|
||||
extern grub_uint32_t grub_multiboot_payload_eip;
|
||||
extern char *grub_multiboot_payload_orig;
|
||||
extern grub_addr_t grub_multiboot_payload_dest;
|
||||
extern grub_size_t grub_multiboot_payload_size;
|
||||
|
||||
#define MULTIBOOT_INITIAL_STATE { .gpr[4] = MULTIBOOT_BOOTLOADER_MAGIC, \
|
||||
.jumpreg = 1 }
|
||||
#define MULTIBOOT_ENTRY_REGISTER gpr[1]
|
||||
#define MULTIBOOT_MBI_REGISTER gpr[5]
|
||||
#define MULTIBOOT_ARCHITECTURE_CURRENT MULTIBOOT_ARCHITECTURE_MIPS32
|
||||
|
||||
#define MULTIBOOT_ELF32_MACHINE EM_MIPS
|
||||
#define MULTIBOOT_ELF64_MACHINE EM_MIPS
|
||||
|
||||
#endif /* ! GRUB_MULTIBOOT_CPU_HEADER */
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
#define ARRAY_SIZE(array) (sizeof (array) / sizeof (array[0]))
|
||||
#define COMPILE_TIME_ASSERT(cond) switch (0) { case 1: case !(cond): ; }
|
||||
|
||||
#define grub_dprintf(condition, fmt, args...) grub_real_dprintf(__FILE__, __LINE__, condition, fmt, ## args)
|
||||
#define grub_dprintf(condition, fmt, args...) grub_real_dprintf(GRUB_FILE, __LINE__, condition, fmt, ## args)
|
||||
/* XXX: If grub_memmove is too slow, we must implement grub_memcpy. */
|
||||
#define grub_memcpy(d,s,n) grub_memmove ((d), (s), (n))
|
||||
|
||||
|
|
@ -261,7 +261,7 @@ grub_size_t EXPORT_FUNC(grub_utf8_to_ucs4) (grub_uint32_t *dest,
|
|||
grub_uint64_t EXPORT_FUNC(grub_divmod64) (grub_uint64_t n,
|
||||
grub_uint32_t d, grub_uint32_t *r);
|
||||
|
||||
#ifdef NEED_ENABLE_EXECUTE_STACK
|
||||
#if defined(NEED_ENABLE_EXECUTE_STACK) && !defined(GRUB_UTIL)
|
||||
void EXPORT_FUNC(__enable_execute_stack) (void *addr);
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -44,19 +44,19 @@ void grub_mm_dump_free (void);
|
|||
void grub_mm_dump (unsigned lineno);
|
||||
|
||||
#define grub_malloc(size) \
|
||||
grub_debug_malloc (__FILE__, __LINE__, size)
|
||||
grub_debug_malloc (GRUB_FILE, __LINE__, size)
|
||||
|
||||
#define grub_zalloc(size) \
|
||||
grub_debug_zalloc (__FILE__, __LINE__, size)
|
||||
grub_debug_zalloc (GRUB_FILE, __LINE__, size)
|
||||
|
||||
#define grub_realloc(ptr,size) \
|
||||
grub_debug_realloc (__FILE__, __LINE__, ptr, size)
|
||||
grub_debug_realloc (GRUB_FILE, __LINE__, ptr, size)
|
||||
|
||||
#define grub_memalign(align,size) \
|
||||
grub_debug_memalign (__FILE__, __LINE__, align, size)
|
||||
grub_debug_memalign (GRUB_FILE, __LINE__, align, size)
|
||||
|
||||
#define grub_free(ptr) \
|
||||
grub_debug_free (__FILE__, __LINE__, ptr)
|
||||
grub_debug_free (GRUB_FILE, __LINE__, ptr)
|
||||
|
||||
void *EXPORT_FUNC(grub_debug_malloc) (const char *file, int line,
|
||||
grub_size_t size);
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@
|
|||
#ifndef GRUB_MULTIBOOT_HEADER
|
||||
#define GRUB_MULTIBOOT_HEADER 1
|
||||
|
||||
#include <grub/file.h>
|
||||
|
||||
#ifdef GRUB_USE_MULTIBOOT2
|
||||
#include <multiboot2.h>
|
||||
/* Same thing as far as our loader is concerned. */
|
||||
|
|
@ -35,8 +37,6 @@
|
|||
void grub_multiboot (int argc, char *argv[]);
|
||||
void grub_module (int argc, char *argv[]);
|
||||
|
||||
void grub_multiboot_set_accepts_video (int val);
|
||||
|
||||
grub_size_t grub_multiboot_get_mbi_size (void);
|
||||
grub_err_t grub_multiboot_make_mbi (void *orig, grub_uint32_t dest,
|
||||
grub_off_t buf_off, grub_size_t bufsize);
|
||||
|
|
@ -46,5 +46,29 @@ grub_err_t grub_multiboot_add_module (grub_addr_t start, grub_size_t size,
|
|||
int argc, char *argv[]);
|
||||
void grub_multiboot_set_bootdev (void);
|
||||
|
||||
grub_uint32_t grub_get_multiboot_mmap_count (void);
|
||||
grub_err_t grub_multiboot_set_video_mode (void);
|
||||
|
||||
#if defined (GRUB_MACHINE_PCBIOS) || defined (GRUB_MACHINE_COREBOOT) || defined (GRUB_MACHINE_QEMU)
|
||||
#include <grub/i386/pc/vbe.h>
|
||||
#define GRUB_MACHINE_HAS_VGA_TEXT 1
|
||||
#else
|
||||
#define GRUB_MACHINE_HAS_VGA_TEXT 0
|
||||
#endif
|
||||
|
||||
#define GRUB_MULTIBOOT_CONSOLE_EGA_TEXT 1
|
||||
#define GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER 2
|
||||
|
||||
grub_err_t
|
||||
grub_multiboot_set_console (int console_type, int accepted_consoles,
|
||||
int width, int height, int depth,
|
||||
int console_required);
|
||||
grub_err_t
|
||||
grub_multiboot_load (grub_file_t file);
|
||||
/* Load ELF32 or ELF64. */
|
||||
grub_err_t
|
||||
grub_multiboot_load_elf (grub_file_t file, void *buffer);
|
||||
extern grub_size_t grub_multiboot_pure_size;
|
||||
extern grub_size_t grub_multiboot_alloc_mbi;
|
||||
|
||||
#endif /* ! GRUB_MULTIBOOT_HEADER */
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ void grub_test_nonzero (int cond, const char *file,
|
|||
|
||||
/* Macro to fill in location details and an optional error message. */
|
||||
#define grub_test_assert(cond, ...) \
|
||||
grub_test_nonzero(cond, __FILE__, __FUNCTION__, __LINE__, \
|
||||
grub_test_nonzero(cond, GRUB_FILE, __FUNCTION__, __LINE__, \
|
||||
## __VA_ARGS__, \
|
||||
"assert failed: %s", #cond)
|
||||
|
||||
|
|
|
|||
|
|
@ -180,7 +180,8 @@ typedef enum grub_video_driver_id
|
|||
GRUB_VIDEO_DRIVER_NONE,
|
||||
GRUB_VIDEO_DRIVER_VBE,
|
||||
GRUB_VIDEO_DRIVER_EFI_UGA,
|
||||
GRUB_VIDEO_DRIVER_EFI_GOP
|
||||
GRUB_VIDEO_DRIVER_EFI_GOP,
|
||||
GRUB_VIDEO_DRIVER_SM712
|
||||
} grub_video_driver_id_t;
|
||||
|
||||
struct grub_video_adapter
|
||||
|
|
@ -272,7 +273,7 @@ grub_err_t EXPORT_FUNC (grub_video_get_info) (struct grub_video_mode_info *mode_
|
|||
sure that framebuffer address doesn't change. To ensure this abstraction
|
||||
grub_video_get_info_and_fini is the only function supplying framebuffer
|
||||
address. */
|
||||
grub_err_t grub_video_get_info_and_fini (struct grub_video_mode_info *mode_info,
|
||||
grub_err_t EXPORT_FUNC (grub_video_get_info_and_fini) (struct grub_video_mode_info *mode_info,
|
||||
void **framebuffer);
|
||||
|
||||
enum grub_video_blit_format grub_video_get_blit_format (struct grub_video_mode_info *mode_info);
|
||||
|
|
@ -280,8 +281,9 @@ enum grub_video_blit_format grub_video_get_blit_format (struct grub_video_mode_i
|
|||
grub_err_t grub_video_set_palette (unsigned int start, unsigned int count,
|
||||
struct grub_video_palette_data *palette_data);
|
||||
|
||||
grub_err_t grub_video_get_palette (unsigned int start, unsigned int count,
|
||||
struct grub_video_palette_data *palette_data);
|
||||
grub_err_t EXPORT_FUNC (grub_video_get_palette) (unsigned int start,
|
||||
unsigned int count,
|
||||
struct grub_video_palette_data *palette_data);
|
||||
|
||||
grub_err_t EXPORT_FUNC (grub_video_set_viewport) (unsigned int x,
|
||||
unsigned int y,
|
||||
|
|
@ -356,7 +358,6 @@ grub_video_check_mode_flag (unsigned int flags, unsigned int mask,
|
|||
return (flag & mask) ? !! (flags & flag) : def;
|
||||
}
|
||||
|
||||
grub_video_driver_id_t
|
||||
grub_video_get_driver_id (void);
|
||||
grub_video_driver_id_t EXPORT_FUNC (grub_video_get_driver_id) (void);
|
||||
|
||||
#endif /* ! GRUB_VIDEO_HEADER */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue