mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 17:09:10 -07:00
sys-devel/dev86: fix reboot() for x86
Closes: https://bugs.gentoo.org/955712 Signed-off-by: Z. Liu <zhixu.liu@gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/42015 Closes: https://github.com/gentoo/gentoo/pull/42015 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -19,6 +19,7 @@ DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-makefile.patch"
|
||||
"${FILESDIR}/${P}-reboot.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
|
||||
29
sys-devel/dev86/files/dev86-1.0.1-reboot.patch
Normal file
29
sys-devel/dev86/files/dev86-1.0.1-reboot.patch
Normal file
@@ -0,0 +1,29 @@
|
||||
use modern reboot
|
||||
diff --git a/elksemu/elks_sys.c b/elksemu/elks_sys.c
|
||||
index 5699edc..45c97f7 100644
|
||||
--- a/elksemu/elks_sys.c
|
||||
+++ b/elksemu/elks_sys.c
|
||||
@@ -17,6 +17,8 @@
|
||||
#include <signal.h>
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
+#include <linux/reboot.h>
|
||||
+#include <sys/reboot.h>
|
||||
#include <sys/resource.h>
|
||||
#include <sys/wait.h>
|
||||
#include <sys/ioctl.h>
|
||||
@@ -656,11 +658,11 @@ static int elks_reboot(int bx,int cx,int dx,int di,int si)
|
||||
switch(dx)
|
||||
{
|
||||
/* graceful shutdown, C-A-D off, kill -? 1 */
|
||||
- case 0: return reboot(0xfee1dead, 672274793, 0);
|
||||
+ case 0: return reboot(LINUX_REBOOT_CMD_CAD_OFF);
|
||||
/* Enable C-A-D */
|
||||
- case 0xCAD: return reboot(0xfee1dead, 672274793, 0x89abcdef);
|
||||
+ case 0xCAD: return reboot(LINUX_REBOOT_CMD_CAD_ON);
|
||||
/* Time to die! */
|
||||
- case 0xD1E: return reboot(0xfee1dead, 672274793, 0x1234567);
|
||||
+ case 0xD1E: return reboot(LINUX_REBOOT_CMD_RESTART);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
Reference in New Issue
Block a user