mirror of
https://github.com/ipxe/ipxe
synced 2025-12-09 20:09:53 +03:00
[initrd] Move initrd reshuffling to be architecture-independent code
There is nothing x86-specific in initrd.c, and a variant of the reshuffling logic will be required for executing bare-metal kernels on RISC-V and AArch64. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -38,7 +38,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||
#include <assert.h>
|
||||
#include <realmode.h>
|
||||
#include <bzimage.h>
|
||||
#include <initrd.h>
|
||||
#include <ipxe/initrd.h>
|
||||
#include <ipxe/uaccess.h>
|
||||
#include <ipxe/image.h>
|
||||
#include <ipxe/segment.h>
|
||||
|
||||
@@ -41,7 +41,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||
#define ERRFILE_comboot_resolv ( ERRFILE_ARCH | ERRFILE_IMAGE | 0x00090000 )
|
||||
#define ERRFILE_comboot_call ( ERRFILE_ARCH | ERRFILE_IMAGE | 0x000a0000 )
|
||||
#define ERRFILE_sdi ( ERRFILE_ARCH | ERRFILE_IMAGE | 0x000b0000 )
|
||||
#define ERRFILE_initrd ( ERRFILE_ARCH | ERRFILE_IMAGE | 0x000c0000 )
|
||||
#define ERRFILE_pxe_call ( ERRFILE_ARCH | ERRFILE_IMAGE | 0x000d0000 )
|
||||
#define ERRFILE_ucode ( ERRFILE_ARCH | ERRFILE_IMAGE | 0x000e0000 )
|
||||
|
||||
|
||||
@@ -25,12 +25,12 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <initrd.h>
|
||||
#include <ipxe/image.h>
|
||||
#include <ipxe/uaccess.h>
|
||||
#include <ipxe/init.h>
|
||||
#include <ipxe/memmap.h>
|
||||
#include <ipxe/cpio.h>
|
||||
#include <ipxe/initrd.h>
|
||||
|
||||
/** @file
|
||||
*
|
||||
@@ -329,6 +329,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||
#define ERRFILE_gzip ( ERRFILE_IMAGE | 0x000c0000 )
|
||||
#define ERRFILE_efi_siglist ( ERRFILE_IMAGE | 0x000d0000 )
|
||||
#define ERRFILE_lkrn ( ERRFILE_IMAGE | 0x000e0000 )
|
||||
#define ERRFILE_initrd ( ERRFILE_IMAGE | 0x000f0000 )
|
||||
|
||||
#define ERRFILE_asn1 ( ERRFILE_OTHER | 0x00000000 )
|
||||
#define ERRFILE_chap ( ERRFILE_OTHER | 0x00010000 )
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef _INITRD_H
|
||||
#define _INITRD_H
|
||||
#ifndef _IPXE_INITRD_H
|
||||
#define _IPXE_INITRD_H
|
||||
|
||||
/** @file
|
||||
*
|
||||
@@ -20,4 +20,4 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||
extern void initrd_reshuffle ( physaddr_t bottom );
|
||||
extern int initrd_reshuffle_check ( size_t len, physaddr_t bottom );
|
||||
|
||||
#endif /* _INITRD_H */
|
||||
#endif /* _IPXE_INITRD_H */
|
||||
Reference in New Issue
Block a user