summary refs log tree commit diff
path: root/pkgs/applications/virtualization/bochs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/virtualization/bochs')
-rw-r--r--pkgs/applications/virtualization/bochs/bochs-2.6.11-glibc-2.26.patch (renamed from pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch)0
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix6
-rw-r--r--pkgs/applications/virtualization/bochs/fix-build-smp.patch21
3 files changed, 24 insertions, 3 deletions
diff --git a/pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch b/pkgs/applications/virtualization/bochs/bochs-2.6.11-glibc-2.26.patch
index e662913574d..e662913574d 100644
--- a/pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch
+++ b/pkgs/applications/virtualization/bochs/bochs-2.6.11-glibc-2.26.patch
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index f6e202ac499..e9982d61391 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -19,14 +19,14 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   pname = "bochs";
-  version = "2.6.10";
+  version = "2.6.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/bochs/bochs/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1c3mw4b8wrjf8z44fvhycs95j1wd1c0b4khcv63giiia5j5q0gvj";
+    sha256 = "0ql8q6y1k356li1g9gbvl21448mlxphxxi6kjb2b3pxvzd0pp2b3";
   };
 
-  patches = [ ./bochs-2.6.10-glibc-2.26.patch ];
+  patches = [ ./bochs-2.6.11-glibc-2.26.patch ./fix-build-smp.patch ];
 
   buildInputs =
   [ pkgconfig libtool gtk2 libGLU libGL readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
diff --git a/pkgs/applications/virtualization/bochs/fix-build-smp.patch b/pkgs/applications/virtualization/bochs/fix-build-smp.patch
new file mode 100644
index 00000000000..faa2acfa512
--- /dev/null
+++ b/pkgs/applications/virtualization/bochs/fix-build-smp.patch
@@ -0,0 +1,21 @@
+Description: A fix for SMP-enable configurations
+Inspired in: https://sourceforge.net/p/bochs/code/13778/
+
+============
+diff -Naur bochs-2.6.11-old/bx_debug/dbg_main.cc bochs-2.6.11-new/bx_debug/dbg_main.cc
+--- bochs-2.6.11-old/bx_debug/dbg_main.cc	2019-12-20 04:57:59.818924000 -0300
++++ bochs-2.6.11-new/bx_debug/dbg_main.cc	2020-03-30 23:20:29.402195707 -0300
+@@ -1494,11 +1494,11 @@
+ {
+   char cpu_param_name[16];
+ 
+-  Bit32u index = BX_ITLB_INDEX_OF(laddr);
++  Bit32u index = BX_CPU(dbg_cpu)->ITLB.get_index_of(laddr);
+   sprintf(cpu_param_name, "ITLB.entry%d", index);
+   bx_dbg_show_param_command(cpu_param_name, 0);
+ 
+-  index = BX_DTLB_INDEX_OF(laddr, 0);
++  index = BX_CPU(dbg_cpu)->DTLB.get_index_of(laddr);
+   sprintf(cpu_param_name, "DTLB.entry%d", index);
+   bx_dbg_show_param_command(cpu_param_name, 0);
+ }