This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH v5] add kexec_load() linux system call


Sucessfully built tested on x86_64 and call is available
thanks to input from Andreas Jaeger <aj@suse.com>

Motivation is to have this syscall supported in glibc for
installers, kexec-tools, bootloaders (kexecboot) or other
interested projects.

The header definitions are since of today in Linus linux git
exported to user space in <linux/kexec.h>.

ChangeLog:
2012-06-01  maximilian attems <max@stro.at>
            Andreas Jaeger <aj@suse.com>

       * sysdeps/unix/sysv/linux/syscalls.list: Add kexec_load system
         call.
       * sysdeps/unix/sysv/linux/Versions (GLIBC_2.16): Likewise.
       * NEWS: Mention kexec_load.
---
 NEWS                                  |    2 ++
 sysdeps/unix/sysv/linux/Versions      |    3 +++
 sysdeps/unix/sysv/linux/syscalls.list |    1 +
 3 files changed, 6 insertions(+)

diff --git a/NEWS b/NEWS
index 654175a..eb40202 100644
--- a/NEWS
+++ b/NEWS
@@ -81,6 +81,8 @@ Version 2.16
   the AT_* key-value pairs passed from the Linux kernel.  The header also
   defines the HWCAP_* bits associated with the AT_HWCAP key.
 
+* New kexec_load() Linux support.
+
 * New locales: mag_IN
 
 * New configure option --enable-systemtap builds SystemTap static probes
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index 16bb281..4503dd6 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -166,6 +166,9 @@ libc {
   GLIBC_2.15 {
     process_vm_readv; process_vm_writev;
   }
+  GLIBC_2.16 {
+    kexec_load;
+  }
   GLIBC_PRIVATE {
     # functions used in other libraries
     __syscall_rt_sigqueueinfo;
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index 9ec0028..d00f15f 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -33,6 +33,7 @@ inotify_init1	EXTRA	inotify_init1	i:I	inotify_init1
 inotify_rm_watch	EXTRA	inotify_rm_watch	i:ii	inotify_rm_watch
 ioperm		-	ioperm		i:iii	ioperm
 iopl		-	iopl		i:i	iopl
+kexec_load	EXTRA	kexec_load	i:pipi	kexec_load
 klogctl		EXTRA	syslog		i:isi	klogctl
 lchown		-	lchown		i:sii	__lchown	lchown
 madvise		-	madvise		i:pii	madvise
-- 
1.7.10


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]