]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[initrd] Move initrd reshuffling to be architecture-independent code
authorMichael Brown <mcb30@ipxe.org>
Wed, 21 May 2025 11:07:24 +0000 (12:07 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 21 May 2025 11:12:16 +0000 (12:12 +0100)
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>
src/arch/x86/image/bzimage.c
src/arch/x86/include/bits/errfile.h
src/image/initrd.c [moved from src/arch/x86/image/initrd.c with 99% similarity]
src/include/ipxe/errfile.h
src/include/ipxe/initrd.h [moved from src/arch/x86/include/initrd.h with 84% similarity]

index 60fd16130cefc294bc0f8ce47191fdf81ad6fecb..63de82c63c85a347dab857867b08b6dc654e701f 100644 (file)
@@ -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>
index 6f9b45e7e25480e71ccd10e833695e459d4028fd..4fa9acef6a4620c29254bf37b23529bcde32c704 100644 (file)
@@ -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 )
 
similarity index 99%
rename from src/arch/x86/image/initrd.c
rename to src/image/initrd.c
index 3fc6964c96cf57fd2a9dada19b405df9a51eb141..71634324dbe97c50e2e63c604be1c81f61a55885 100644 (file)
@@ -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
  *
index 22215699b3fc30b5b36f766394369c57bcb24c19..d00191fbee7acdee5367f9eec865d38d37f57f1d 100644 (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 )
similarity index 84%
rename from src/arch/x86/include/initrd.h
rename to src/include/ipxe/initrd.h
index 921de34345399f26e81969a7a79c9f5f49c54cde..0d70b07319fcef48beac1c101d96c06ea50d88de 100644 (file)
@@ -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 */