xref: /dragonfly/test/x86_64/qemu.patch (revision 1975d09e)
1diff --git a/block.c b/block.c
2index b68a8da..6ed24ad 100644
3--- a/block.c
4+++ b/block.c
5@@ -35,8 +35,10 @@
6 #include <sys/types.h>
7 #include <sys/stat.h>
8 #include <sys/ioctl.h>
9+#ifndef __DragonFly__
10 #include <sys/disk.h>
11 #endif
12+#endif
13
14 #define SECTOR_BITS 9
15 #define SECTOR_SIZE (1 << SECTOR_BITS)
16diff --git a/configure b/configure
17index 6164241..3e206b2 100755
18--- a/configure
19+++ b/configure
20@@ -228,6 +228,11 @@ if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
21     kqemu="yes"
22 fi
23 ;;
24+DragonFly)
25+bsd="yes"
26+oss="yes"
27+dragonfly="yes"
28+;;
29 NetBSD)
30 bsd="yes"
31 audio_drv_list="oss"
32@@ -1317,6 +1322,10 @@ if test "$darwin" = "yes" ; then
33   echo "CONFIG_DARWIN=yes" >> $config_mak
34   echo "#define CONFIG_DARWIN 1" >> $config_h
35 fi
36+if test "$dragonfly" = "yes" ; then
37+  echo "CONFIG_DRAGONFLY=yes" >> $config_mak
38+  echo "#define CONFIG_DRAGONFLY 1" >> $config_h
39+fi
40
41 if test "$aix" = "yes" ; then
42   echo "CONFIG_AIX=yes" >> $config_mak
43diff --git a/cpu-exec.c b/cpu-exec.c
44index 7607e24..deb845d 100644
45--- a/cpu-exec.c
46+++ b/cpu-exec.c
47@@ -1156,6 +1156,12 @@ static inline int handle_cpu_signal(unsigned long pc, unsigned long address,
48 # define EIP_sig(context)  (*((unsigned long*)&(context)->uc_mcontext->ss.eip))
49 # define TRAP_sig(context)    ((context)->uc_mcontext->es.trapno)
50 # define ERROR_sig(context)   ((context)->uc_mcontext->es.err)
51+#elif defined (__DragonFly__)
52+# include <ucontext.h>
53+
54+# define EIP_sig(context)  (*((unsigned long*)&(context)->uc_mcontext.mc_eip))
55+# define TRAP_sig(context)    ((context)->uc_mcontext.mc_trapno)
56+# define ERROR_sig(context)   ((context)->uc_mcontext.mc_err)
57 #else
58 # define EIP_sig(context)     ((context)->uc_mcontext.gregs[REG_EIP])
59 # define TRAP_sig(context)    ((context)->uc_mcontext.gregs[REG_TRAPNO])
60@@ -1166,7 +1172,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
61                        void *puc)
62 {
63     siginfo_t *info = pinfo;
64-    struct ucontext *uc = puc;
65+    ucontext_t *uc = puc;
66     unsigned long pc;
67     int trapno;
68
69diff --git a/texi2pod.pl b/texi2pod.pl
70index 5d28a05..abca509 100755
71--- a/texi2pod.pl
72+++ b/texi2pod.pl
73@@ -1,4 +1,4 @@
74-#! /usr/bin/perl -w
75+#! /usr/bin/env perl -w
76
77 #   Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
78
79diff --git a/usb-bsd.c b/usb-bsd.c
80index fa4093c..60e78d4 100644
81--- a/usb-bsd.c
82+++ b/usb-bsd.c
83@@ -34,7 +34,11 @@
84 #undef USB_SPEED_LOW
85
86 #include <sys/ioctl.h>
87+#ifdef __DragonFly__
88+#include <bus/usb/usb.h>
89+#else
90 #include <dev/usb/usb.h>
91+#endif
92 #include <signal.h>
93
94 /* This value has maximum potential at 16.
95--- a/exec-all.h~	2009-08-17 01:32:59 +0200
96+++ a/exec-all.h	2009-08-17 01:13:49 +0200
97@@ -35,7 +35,7 @@
98 typedef struct TranslationBlock TranslationBlock;
99
100 /* XXX: make safe guess about sizes */
101-#define MAX_OP_PER_INSTR 64
102+#define MAX_OP_PER_INSTR 80
103 /* A Call op needs up to 6 + 2N parameters (N = number of arguments).  */
104 #define MAX_OPC_PARAM 10
105 #define OPC_BUF_SIZE 512
106