summaryrefslogtreecommitdiff
path: root/emulators/qemu/files/patch-vl.c
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/qemu/files/patch-vl.c')
-rw-r--r--emulators/qemu/files/patch-vl.c73
1 files changed, 23 insertions, 50 deletions
diff --git a/emulators/qemu/files/patch-vl.c b/emulators/qemu/files/patch-vl.c
index a69e42ffd8ba..44684c7ce36b 100644
--- a/emulators/qemu/files/patch-vl.c
+++ b/emulators/qemu/files/patch-vl.c
@@ -1,55 +1,28 @@
Index: qemu/vl.c
-@@ -1727,6 +1728,7 @@
- chr->chr_ioctl = pp_ioctl;
- return chr;
- }
-+#endif /* defined(__linux__) */
-
+@@ -75,6 +75,7 @@
+ #include <sys/stat.h>
+ #ifdef __FreeBSD__
+ #include <libutil.h>
++#include <sys/param.h>
#else
- CharDriverState *qemu_chr_open_pty(void)
-@@ -1771,14 +1771,14 @@
- return chr;
- }
-
--#if defined(__linux__) || defined(__sun__)
-+#if defined(__linux__) || defined(__sun__) || defined(__FreeBSD__)
- static CharDriverState *qemu_chr_open_pty(void)
- {
- struct termios tty;
- char slave_name[1024];
- int master_fd, slave_fd;
-
--#if defined(__linux__)
-+#if defined(__linux__) || defined(__FreeBSD__)
- /* Not satisfying */
- if (openpty(&master_fd, &slave_fd, slave_name, NULL, NULL) < 0) {
- return NULL;
-@@ -3036,7 +3036,7 @@
- return qemu_chr_open_pp(filename);
- } else
+ #include <util.h>
#endif
--#if defined(__linux__) || defined(__sun__)
-+#if defined(__linux__) || defined(__sun__) || defined(__FreeBSD__)
- if (strstart(filename, "/dev/", NULL)) {
- return qemu_chr_open_tty(filename);
- } else
-@@ -8423,6 +8423,11 @@
- nb_nics = 0;
- /* default mac address of the first network interface */
+@@ -9850,15 +9850,15 @@
+ phys_ram_size += ram_size;
+ }
-+#ifdef __FreeBSD__
-+ if (modfind("aio") == -1)
-+ fprintf(stderr, "warning: aio not (kld)loaded, may cause `Invalid system call' traps on disk IO\n");
-+#endif
++ /* init the dynamic translator */
++ cpu_exec_init_all(tb_size * 1024 * 1024);
+
- optind = 1;
- for(;;) {
- if (optind >= argc)
-@@ -8784,6 +8784,7 @@
- #ifdef TARGET_ARM
- case QEMU_OPTION_old_param:
- old_param = 1;
-+ break;
- #endif
- case QEMU_OPTION_clock:
- configure_alarms(optarg);
+ phys_ram_base = qemu_vmalloc(phys_ram_size);
+ if (!phys_ram_base) {
+ fprintf(stderr, "Could not allocate physical memory\n");
+ exit(1);
+ }
+
+- /* init the dynamic translator */
+- cpu_exec_init_all(tb_size * 1024 * 1024);
+-
+ bdrv_init();
+
+ /* we always create the cdrom drive, even if no disk is there */