Fix compilation errors

This commit is contained in:
phcoder 2011-01-03 02:28:14 +01:00
parent 0718f66d12
commit c18271ed00
8 changed files with 31 additions and 11 deletions

View File

@ -130,7 +130,6 @@ if COND_ia64_efi
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/time.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ia64/efi/misc.h
endif
if COND_mips_yeeloong

View File

@ -126,8 +126,8 @@ kernel = {
x86_64_efi = kern/i386/efi/init.c;
ia64_efi = kern/ia64/efi/startup.S;
ia64_efi = kern/ia64/trampoline.S;
ia64_efi = kern/ia64/efi/init.c;
ia64_efi = kern/ia64/dl.c;
i386_pc = kern/i386/pc/init.c;
i386_pc = kern/i386/pc/mmap.c;
@ -575,7 +575,8 @@ module = {
i386_pc = commands/acpihalt.c;
i386_coreboot = commands/acpihalt.c;
i386_multiboot = commands/acpihalt.c;
x86_efi = commands/acpihalt.c;
i386_efi = commands/acpihalt.c;
x86_64_efi = commands/acpihalt.c;
i386_multiboot = lib/i386/halt.c;
i386_coreboot = lib/i386/halt.c;
i386_qemu = lib/i386/halt.c;
@ -1244,6 +1245,7 @@ module = {
mips_yeeloong = mmap/mips/yeeloong/uppermem.c;
enable = x86;
enable = ia64_efi;
enable = mips_yeeloong;
};
@ -1435,7 +1437,8 @@ module = {
module = {
name = efi_uga;
efi = video/efi_uga.c;
enable = efi;
enable = i386_efi;
enable = x86_64_efi;
};
module = {

View File

@ -25,13 +25,11 @@
#include <grub/cache.h>
#include <grub/kernel.h>
#include <grub/efi/efi.h>
#include <grub/machine/misc.h>
void
grub_machine_init (void)
{
grub_efi_init ();
grub_init_modules ();
}
void

View File

@ -15,6 +15,10 @@
* You should have received a copy of the GNU General Public License
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
*/
#include <config.h>
#include <grub/symbol.h>
#include <grub/offsets.h>
.text
.psr abi64
.psr lsb
@ -38,3 +42,12 @@ _start:
br.ret.sptk.few rp
.endp _start
. = _start + GRUB_KERNEL_MACHINE_PREFIX
VARIABLE(grub_prefix)
/* to be filled by grub-mkimage */
/*
* Leave some breathing room for the prefix.
*/
. = _start + GRUB_KERNEL_MACHINE_PREFIX_END

View File

@ -28,7 +28,9 @@ void
grub_halt (void)
{
grub_machine_fini ();
#ifndef __ia64__
grub_acpi_halt ();
#endif
efi_call_4 (grub_efi_system_table->runtime_services->reset_system,
GRUB_EFI_RESET_SHUTDOWN, GRUB_EFI_SUCCESS, 0, NULL);

View File

@ -30,7 +30,6 @@
#include <grub/efi/api.h>
#include <grub/efi/efi.h>
#include <grub/elf.h>
#include <grub/gzio.h>
#define ALIGN_MIN (256*1024*1024)
@ -512,7 +511,7 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
goto fail;
}
file = grub_gzfile_open (argv[0], 1);
file = grub_file_open (argv[0]);
if (! file)
{
grub_error (GRUB_ERR_BAD_ARGUMENT, "Couldn't open file");
@ -594,7 +593,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)),
goto fail;
}
file = grub_gzfile_open (argv[0], 1);
file = grub_file_open (argv[0]);
if (! file)
goto fail;
@ -644,7 +643,7 @@ grub_cmd_payload (grub_command_t cmd __attribute__ ((unused)),
goto fail;
}
file = grub_gzfile_open (argv[0], 1);
file = grub_file_open (argv[0]);
if (! file)
goto fail;

View File

@ -1234,7 +1234,7 @@ struct grub_efi_block_io
};
typedef struct grub_efi_block_io grub_efi_block_io_t;
#if GRUB_TARGET_SIZEOF_VOID_P == 4
#if (GRUB_TARGET_SIZEOF_VOID_P == 4) || defined (__ia64__)
#define efi_call_0(func) func()
#define efi_call_1(func, a) func(a)

View File

@ -117,6 +117,12 @@
/* End of the data section. */
#define GRUB_KERNEL_I386_EFI_PREFIX_END 0x50
/* The offset of GRUB_PREFIX. */
#define GRUB_KERNEL_IA64_EFI_PREFIX 0x50
/* End of the data section. */
#define GRUB_KERNEL_IA64_EFI_PREFIX_END 0xa0
/* The offset of GRUB_PREFIX. */
#define GRUB_KERNEL_X86_64_EFI_PREFIX 0x8