summaryrefslogtreecommitdiffstats
path: root/src/arch/i386
diff options
context:
space:
mode:
authorSimon Rettberg2026-01-28 12:53:53 +0100
committerSimon Rettberg2026-01-28 12:53:53 +0100
commit8e82785c584dc13e20f9229decb95bd17bbe9cd1 (patch)
treea8b359e59196be5b2e3862bed189107f4bc9975f /src/arch/i386
parentMerge branch 'master' into openslx (diff)
parent[prefix] Make unlzma.S compatible with 386 class CPUs (diff)
downloadipxe-openslx.tar.gz
ipxe-openslx.tar.xz
ipxe-openslx.zip
Merge branch 'master' into openslxopenslx
Diffstat (limited to 'src/arch/i386')
-rw-r--r--src/arch/i386/Makefile4
-rw-r--r--src/arch/i386/Makefile.efi4
-rw-r--r--src/arch/i386/include/bits/gdbmach.h (renamed from src/arch/i386/include/gdbmach.h)0
-rw-r--r--src/arch/i386/include/bits/profile.h6
-rw-r--r--src/arch/i386/include/bits/setjmp.h (renamed from src/arch/i386/include/setjmp.h)12
-rw-r--r--src/arch/i386/scripts/i386-kir.lds6
6 files changed, 16 insertions, 16 deletions
diff --git a/src/arch/i386/Makefile b/src/arch/i386/Makefile
index e59f05fc8..44ccfccc8 100644
--- a/src/arch/i386/Makefile
+++ b/src/arch/i386/Makefile
@@ -1,3 +1,7 @@
+# Specify compressor
+#
+ZBIN = $(ZBIN32)
+
# Force i386-only instructions
#
CFLAGS += -march=i386
diff --git a/src/arch/i386/Makefile.efi b/src/arch/i386/Makefile.efi
index 37ede65ac..aa809eb5d 100644
--- a/src/arch/i386/Makefile.efi
+++ b/src/arch/i386/Makefile.efi
@@ -8,10 +8,6 @@ ELF2EFI = $(ELF2EFI32)
#
CFLAGS += -malign-double
-# Specify EFI boot file
-#
-EFI_BOOT_FILE = bootia32.efi
-
# Include generic EFI Makefile
#
MAKEDEPS += arch/x86/Makefile.efi
diff --git a/src/arch/i386/include/gdbmach.h b/src/arch/i386/include/bits/gdbmach.h
index 52cce7833..52cce7833 100644
--- a/src/arch/i386/include/gdbmach.h
+++ b/src/arch/i386/include/bits/gdbmach.h
diff --git a/src/arch/i386/include/bits/profile.h b/src/arch/i386/include/bits/profile.h
index e184d7b51..21c216a81 100644
--- a/src/arch/i386/include/bits/profile.h
+++ b/src/arch/i386/include/bits/profile.h
@@ -16,12 +16,12 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
*
* @ret timestamp Timestamp
*/
-static inline __attribute__ (( always_inline )) uint64_t
+static inline __attribute__ (( always_inline )) unsigned long
profile_timestamp ( void ) {
- uint64_t tsc;
+ uint32_t tsc;
/* Read timestamp counter */
- __asm__ __volatile__ ( "rdtsc" : "=A" ( tsc ) );
+ __asm__ __volatile__ ( "rdtsc" : "=a" ( tsc ) : : "edx" );
return tsc;
}
diff --git a/src/arch/i386/include/setjmp.h b/src/arch/i386/include/bits/setjmp.h
index 98566696a..6b2ec9613 100644
--- a/src/arch/i386/include/setjmp.h
+++ b/src/arch/i386/include/bits/setjmp.h
@@ -1,5 +1,5 @@
-#ifndef _SETJMP_H
-#define _SETJMP_H
+#ifndef _BITS_SETJMP_H
+#define _BITS_SETJMP_H
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
@@ -21,10 +21,4 @@ typedef struct {
uint32_t ebp;
} jmp_buf[1];
-extern int __asmcall __attribute__ (( returns_twice ))
-setjmp ( jmp_buf env );
-
-extern void __asmcall __attribute__ (( noreturn ))
-longjmp ( jmp_buf env, int val );
-
-#endif /* _SETJMP_H */
+#endif /* _BITS_SETJMP_H */
diff --git a/src/arch/i386/scripts/i386-kir.lds b/src/arch/i386/scripts/i386-kir.lds
index 13c36f2bf..4cb656000 100644
--- a/src/arch/i386/scripts/i386-kir.lds
+++ b/src/arch/i386/scripts/i386-kir.lds
@@ -88,6 +88,8 @@ SECTIONS {
__rodata16 = .;
*(.rodata16)
*(.rodata16.*)
+ *(.srodata)
+ *(.srodata.*)
*(.rodata)
*(.rodata.*)
}
@@ -95,6 +97,8 @@ SECTIONS {
__data16 = .;
*(.data16)
*(.data16.*)
+ *(.sdata)
+ *(.sdata.*)
*(.data)
*(.data.*)
KEEP(*(SORT(.tbl.*))) /* Various tables. See include/tables.h */
@@ -107,6 +111,8 @@ SECTIONS {
_bss16 = .;
*(.bss16)
*(.bss16.*)
+ *(.sbss)
+ *(.sbss.*)
*(.bss)
*(.bss.*)
*(COMMON)