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 similarity index 100% rename from pkgs/applications/virtualization/bochs/bochs-2.6.10-glibc-2.26.patch rename to 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 f6e202ac4998..e9982d61391d 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 000000000000..faa2acfa5129 --- /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); + }