aboutsummaryrefslogtreecommitdiff
path: root/emulators/kqemu-kmod-devel/files
diff options
context:
space:
mode:
authorJuergen Lock <nox@FreeBSD.org>2008-05-18 20:23:40 +0000
committerJuergen Lock <nox@FreeBSD.org>2008-05-18 20:23:40 +0000
commit987566f671a15ea4697ccb990a6aed7547e7f0f5 (patch)
treefc3ab7d728a0ae92a06ff459a58cfb368c7c1cce /emulators/kqemu-kmod-devel/files
parentf37afdb032efa98e2d14714e80205d4acf657cb2 (diff)
downloadports-987566f671a15ea4697ccb990a6aed7547e7f0f5.tar.gz
ports-987566f671a15ea4697ccb990a6aed7547e7f0f5.zip
Notes
Diffstat (limited to 'emulators/kqemu-kmod-devel/files')
-rw-r--r--emulators/kqemu-kmod-devel/files/patch-tssworkaround6
1 files changed, 3 insertions, 3 deletions
diff --git a/emulators/kqemu-kmod-devel/files/patch-tssworkaround b/emulators/kqemu-kmod-devel/files/patch-tssworkaround
index bbd594488a8b..e735deb5f1de 100644
--- a/emulators/kqemu-kmod-devel/files/patch-tssworkaround
+++ b/emulators/kqemu-kmod-devel/files/patch-tssworkaround
@@ -32,7 +32,7 @@ Index: kqemu-freebsd.c
+ unsigned cpuid = PCPU_GET(cpuid);
+ struct user_segment_descriptor *newgdt = gdt;
+
-+ if (mp_ncpus <= 1 || kerngdtbase != (unsigned long)&gdt)
++ if (mp_ncpus <= 1 || kerngdtbase != (unsigned long)gdt)
+ /* UP host or gdt already moved, nothing to do */
+ return;
+ if (cpuid) {
@@ -48,7 +48,7 @@ Index: kqemu-freebsd.c
+ kqemu_gdts = &gdt[NGDT];
+ ++kqemu_gdts_used;
+ newgdt = &kqemu_gdts[NGDT * (cpuid - 1)];
-+ bcopy(&gdt, newgdt, NGDT * sizeof(gdt[0]));
++ bcopy(gdt, newgdt, NGDT * sizeof(gdt[0]));
+ kqemu_r_newgdt.rd_limit = NGDT * sizeof(gdt[0]) - 1;
+ kqemu_r_newgdt.rd_base = (long) newgdt;
+ } else {
@@ -63,7 +63,7 @@ Index: kqemu-freebsd.c
+ lgdt(&kqemu_r_newgdt);
+ wrmsr(MSR_GSBASE, (u_int64_t)&__pcpu[cpuid]);
+ wrmsr(MSR_KGSBASE, curthread->td_pcb->pcb_gsbase);
-+ wrmsr(MSR_FSBASE, 0);
++ wrmsr(MSR_FSBASE, curthread->td_pcb->pcb_fsbase);
+ }
+ ltr(gsel_tss);
+}