summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brown2025-05-21 13:07:24 +0200
committerMichael Brown2025-05-21 13:12:16 +0200
commitc1cd54ad74200a132aff5b3d0cfce8662dec5fe4 (patch)
tree04c0a6a00eff70564047ca785871417ccdc94d14 /src
parent[image] Use image replacement when executing extracted images (diff)
downloadipxe-c1cd54ad74200a132aff5b3d0cfce8662dec5fe4.tar.gz
ipxe-c1cd54ad74200a132aff5b3d0cfce8662dec5fe4.tar.xz
ipxe-c1cd54ad74200a132aff5b3d0cfce8662dec5fe4.zip
[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>
Diffstat (limited to 'src')
-rw-r--r--src/arch/x86/image/bzimage.c2
-rw-r--r--src/arch/x86/include/bits/errfile.h1
-rw-r--r--src/image/initrd.c (renamed from src/arch/x86/image/initrd.c)2
-rw-r--r--src/include/ipxe/errfile.h1
-rw-r--r--src/include/ipxe/initrd.h (renamed from src/arch/x86/include/initrd.h)6
5 files changed, 6 insertions, 6 deletions
diff --git a/src/arch/x86/image/bzimage.c b/src/arch/x86/image/bzimage.c
index 60fd16130..63de82c63 100644
--- a/src/arch/x86/image/bzimage.c
+++ b/src/arch/x86/image/bzimage.c
@@ -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>
diff --git a/src/arch/x86/include/bits/errfile.h b/src/arch/x86/include/bits/errfile.h
index 6f9b45e7e..4fa9acef6 100644
--- a/src/arch/x86/include/bits/errfile.h
+++ b/src/arch/x86/include/bits/errfile.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 )
diff --git a/src/arch/x86/image/initrd.c b/src/image/initrd.c
index 3fc6964c9..71634324d 100644
--- a/src/arch/x86/image/initrd.c
+++ b/src/image/initrd.c
@@ -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
*
diff --git a/src/include/ipxe/errfile.h b/src/include/ipxe/errfile.h
index 22215699b..d00191fbe 100644
--- a/src/include/ipxe/errfile.h
+++ b/src/include/ipxe/errfile.h
@@ -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 )
diff --git a/src/arch/x86/include/initrd.h b/src/include/ipxe/initrd.h
index 921de3434..0d70b0731 100644
--- a/src/arch/x86/include/initrd.h
+++ b/src/include/ipxe/initrd.h
@@ -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 */