mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-22 23:32:39 +00:00
coreboot
This commit is contained in:
1 parent
dc491ff04a
commit
0b71582111
5 files changed
+27
-3
No files matched your search
@@ -246,6 +246,9 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
|
|||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fdt.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/coreboot/kernel.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/fdtbus.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if COND_arm_efi
|
if COND_arm_efi
|
||||||
|
|||||||
@@ -1675,7 +1675,7 @@ module = {
|
|||||||
arm64 = loader/arm64/xen_boot.c;
|
arm64 = loader/arm64/xen_boot.c;
|
||||||
enable = arm64;
|
enable = arm64;
|
||||||
};
|
};
|
||||||
/*
|
|
||||||
module = {
|
module = {
|
||||||
name = linux;
|
name = linux;
|
||||||
x86 = loader/i386/linux.c;
|
x86 = loader/i386/linux.c;
|
||||||
@@ -1691,7 +1691,7 @@ module = {
|
|||||||
common = lib/cmdline.c;
|
common = lib/cmdline.c;
|
||||||
enable = noemu;
|
enable = noemu;
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
module = {
|
module = {
|
||||||
name = fdt;
|
name = fdt;
|
||||||
arm64 = loader/arm64/fdt.c;
|
arm64 = loader/arm64/fdt.c;
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
extern grub_uint8_t _start[];
|
extern grub_uint8_t _start[];
|
||||||
extern grub_uint8_t _end[];
|
extern grub_uint8_t _end[];
|
||||||
extern grub_uint8_t _edata[];
|
extern grub_uint8_t _edata[];
|
||||||
|
grub_addr_t start_of_ram = ~(grub_addr_t)0;
|
||||||
|
|
||||||
void __attribute__ ((noreturn))
|
void __attribute__ ((noreturn))
|
||||||
grub_exit (void)
|
grub_exit (void)
|
||||||
@@ -66,6 +67,9 @@ heap_init (grub_uint64_t addr, grub_uint64_t size, grub_memory_type_t type,
|
|||||||
end = GRUB_ULONG_MAX;
|
end = GRUB_ULONG_MAX;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (start_of_ram > begin)
|
||||||
|
start_of_ram = begin;
|
||||||
|
|
||||||
if (type != GRUB_MEMORY_AVAILABLE)
|
if (type != GRUB_MEMORY_AVAILABLE)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ struct grub_fdt_board
|
|||||||
extern struct grub_fdt_board grub_fdt_boards[];
|
extern struct grub_fdt_board grub_fdt_boards[];
|
||||||
void grub_machine_timer_init (void);
|
void grub_machine_timer_init (void);
|
||||||
void grub_pl050_init (void);
|
void grub_pl050_init (void);
|
||||||
|
extern grub_addr_t EXPORT_VAR (start_of_ram);
|
||||||
#endif /* ! ASM_FILE */
|
#endif /* ! ASM_FILE */
|
||||||
|
|
||||||
#define GRUB_KERNEL_MACHINE_STACK_SIZE GRUB_KERNEL_ARM_STACK_SIZE
|
#define GRUB_KERNEL_MACHINE_STACK_SIZE GRUB_KERNEL_ARM_STACK_SIZE
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
|
|
||||||
#if defined (GRUB_MACHINE_UBOOT) || defined (GRUB_MACHINE_COREBOOT)
|
#if defined (GRUB_MACHINE_UBOOT)
|
||||||
# include <grub/uboot/uboot.h>
|
# include <grub/uboot/uboot.h>
|
||||||
# define LINUX_ADDRESS (start_of_ram + 0x8000)
|
# define LINUX_ADDRESS (start_of_ram + 0x8000)
|
||||||
# define LINUX_INITRD_ADDRESS (start_of_ram + 0x02000000)
|
# define LINUX_INITRD_ADDRESS (start_of_ram + 0x02000000)
|
||||||
@@ -50,6 +50,22 @@ grub_arm_firmware_get_machine_type (void)
|
|||||||
{
|
{
|
||||||
return GRUB_ARM_MACHINE_TYPE_FDT;
|
return GRUB_ARM_MACHINE_TYPE_FDT;
|
||||||
}
|
}
|
||||||
|
#elif defined (GRUB_MACHINE_COREBOOT)
|
||||||
|
#include <grub/fdtbus.h>
|
||||||
|
#include <grub/machine/kernel.h>
|
||||||
|
# define LINUX_ADDRESS (start_of_ram + 0x8000)
|
||||||
|
# define LINUX_INITRD_ADDRESS (start_of_ram + 0x02000000)
|
||||||
|
# define LINUX_FDT_ADDRESS (LINUX_INITRD_ADDRESS - 0x10000)
|
||||||
|
static inline const void *
|
||||||
|
grub_arm_firmware_get_boot_data (void)
|
||||||
|
{
|
||||||
|
return grub_fdtbus_get_fdt ();
|
||||||
|
}
|
||||||
|
static inline grub_uint32_t
|
||||||
|
grub_arm_firmware_get_machine_type (void)
|
||||||
|
{
|
||||||
|
return GRUB_ARM_MACHINE_TYPE_FDT;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FDT_ADDITIONAL_ENTRIES_SIZE 0x300
|
#define FDT_ADDITIONAL_ENTRIES_SIZE 0x300
|
||||||
|
|||||||
Reference in new issue
Block a user