summaryrefslogtreecommitdiffstats
path: root/fs/ntfs
AgeCommit message (Expand)Author
2020-12-15fs/ntfs: remove unused variable attr_lenAlex Shi
2020-12-15fs/ntfs: remove unused variblesAlex Shi
2020-10-24Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds
2020-10-13ntfs: add check for mft record size in superblockRustam Kovhaev
2020-09-18[PATCH] reduce boilerplate in fsid handlingAl Viro
2020-08-07ntfs: fix ntfs_test_inode and ntfs_init_locked_inode function typeLuca Stefani
2020-06-24block: move block-related definitions out of fs.hChristoph Hellwig
2020-06-02Merge branch 'akpm' (patches from Andrew)Linus Torvalds
2020-06-02mm: remove the pgprot argument to __vmallocChristoph Hellwig
2020-06-02ntfs: replace attach_page_buffers with attach_page_privateGuoqing Jiang
2020-04-20docs: filesystems: fix renamed referencesMauro Carvalho Chehab
2020-03-28fs/buffer: Make BH_Uptodate_Lock bit_spin_lock a regular spinlock_tThomas Gleixner
2019-12-08utimes: Clamp the timestamps in notify_change()Amir Goldstein
2019-09-26ntfs: remove (un)?likely() from IS_ERR() conditionsDenis Efremov
2019-08-30timestamp_truncate: Replace users of timespec64_truncDeepa Dinamani
2019-05-24treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 97Thomas Gleixner
2019-05-24treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 96Thomas Gleixner
2019-05-21treewide: Add SPDX license identifier - Makefile/KconfigThomas Gleixner
2019-05-01ntfs: switch to ->free_inode()Al Viro
2018-12-28mm: convert totalram_pages and totalhigh_pages variables to atomicArun KS
2018-10-12ntfs: don't open-code ERR_CASTAl Viro
2018-08-17ntfs: mft: remove VLA usageKees Cook
2018-08-17ntfs: decompress: remove VLA usageKees Cook
2018-08-17ntfs: aops: remove VLA usageKees Cook
2018-08-17fs/ntfs/aops.c: don't disable interrupts during kmap_atomic()Sebastian Andrzej Siewior
2018-08-17fs/ntfs: use timespec64 directly for timestamp conversionArnd Bergmann
2018-06-15Merge tag 'vfs-timespec64' of git://git.kernel.org/pub/scm/linux/kernel/git/a...Linus Torvalds
2018-06-12treewide: kmalloc() -> kmalloc_array()Kees Cook
2018-06-05vfs: change inode times to use struct timespec64Deepa Dinamani
2018-03-28ntfs: fix bogus __mark_inode_dirty(I_DIRTY_SYNC | I_DIRTY_DATASYNC) callChristoph Hellwig
2018-01-01ntfs: remove i_version handlingJeff Layton
2017-11-27Rename superblock flags (MS_xyz -> SB_xyz)Linus Torvalds
2017-11-14Merge branch 'for-4.15/block' of git://git.kernel.dk/linux-blockLinus Torvalds
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman
2017-10-03buffer: have alloc_page_buffers() use __GFP_NOFAILJens Axboe
2017-09-14Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/vi...Linus Torvalds
2017-08-01fs: convert a pile of fsync routines to errseq_t based reportingJeff Layton
2017-07-17VFS: Convert sb->s_flags & MS_RDONLY to sb_rdonly(sb)David Howells
2017-05-28ntfs: Use ERR_CAST() to avoid cross-structure castKees Cook
2017-03-02sched/headers: Prepare to move signal wakeup & sigpending methods from <linux...Ingo Molnar
2016-12-24Replace <asm/uaccess.h> with <linux/uaccess.h> globallyLinus Torvalds
2016-12-14Merge branch 'for-4.10/fs-unmap' of git://git.kernel.dk/linux-blockLinus Torvalds
2016-12-13Merge branch 'for-4.10/block' of git://git.kernel.dk/linux-blockLinus Torvalds
2016-11-04fs: Add helper to clean bdev aliases under a bh and use itJan Kara
2016-11-01mm: only include blk_types in swap.h if CONFIG_SWAP is enabledChristoph Hellwig
2016-11-01block,fs: untangle fs.h and blk_types.hChristoph Hellwig
2016-10-30fs: remove the never implemented aio_fsync file operationChristoph Hellwig
2016-10-10Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds
2016-10-08Merge remote-tracking branch 'jk/vfs' into work.miscAl Viro
2016-09-27fs: Replace current_fs_time() with current_time()Deepa Dinamani
nt_extended'>jairglez/bbevent_extended Poky Built Tool and Metadata - User Contributions TreeGrokmirror user
aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/kexec/kexec-tools/kexec-x32.patch
blob: 26d18eb6fe80b22645d37aa5e12d827060b06413 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
x86_64: Add support to build kexec-tools with x32 ABI

Summary of changes,

configure.ac: Add test for detect x32 ABI.
purgatory/arch/x86_64/Makefile: Not use mcmodel large when
	x32 ABI is set.
kexec/arch/x86_64/kexec-elf-rel-x86_64.c: When x32 ABI is set
	use ELFCLASS32 instead of ELFCLASS64.
kexec/kexec-syscall.h: Add correct syscall number for x32 ABI.

Upstream-Status: Submitted

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>

---
 configure.ac                             | 9 +++++++++
 kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 4 ++++
 kexec/kexec-syscall.h                    | 4 ++++
 purgatory/arch/x86_64/Makefile           | 4 +++-
 4 files changed, 20 insertions(+), 1 deletion(-)

Index: kexec-tools-2.0.10/configure.ac
===================================================================
--- kexec-tools-2.0.10.orig/configure.ac
+++ kexec-tools-2.0.10/configure.ac
@@ -56,6 +56,15 @@ case $target_cpu in
 		;;
 	ia64|x86_64|alpha|m68k )
 		ARCH="$target_cpu"
+
+		dnl ---Test for x32 ABI in x86_64
+		if test "x$ARCH" = "xx86_64" ; then
+			AC_EGREP_CPP(x32_test,
+			[#if defined(__x86_64__) && defined (__ILP32__)
+				x32_test
+			#endif
+			], SUBARCH='x32', SUBARCH='64')
+		fi
 		;;
 	* )
 		AC_MSG_ERROR([unsupported architecture $target_cpu])
Index: kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
===================================================================
--- kexec-tools-2.0.10.orig/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+++ kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_eh
 	if (ehdr->ei_data != ELFDATA2LSB) {
 		return 0;
 	}
+#ifdef __ILP32__
+	if (ehdr->ei_class != ELFCLASS32) {
+#else
 	if (ehdr->ei_class != ELFCLASS64) {
+#endif
 		return 0;
 	}
 	if (ehdr->e_machine != EM_X86_64) {
Index: kexec-tools-2.0.10/kexec/kexec-syscall.h
===================================================================
--- kexec-tools-2.0.10.orig/kexec/kexec-syscall.h
+++ kexec-tools-2.0.10/kexec/kexec-syscall.h
@@ -31,8 +31,12 @@
 #define __NR_kexec_load		268
 #endif
 #ifdef __x86_64__
+#ifdef __ILP32__
+#define __NR_kexec_load		528
+#else
 #define __NR_kexec_load		246
 #endif
+#endif
 #ifdef __s390x__
 #define __NR_kexec_load		277
 #endif
Index: kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
===================================================================
--- kexec-tools-2.0.10.orig/purgatory/arch/x86_64/Makefile
+++ kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/
 x86_64_PURGATORY_SRCS += purgatory/arch/i386/vga.c
 x86_64_PURGATORY_SRCS += purgatory/arch/i386/pic.c
 
-x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
+ifeq ($(SUBARCH),64)
+        x86_64_PURGATORY_EXTRA_CFLAGS = -mcmodel=large
+endif