diff options
author | Juergen Lock <nox@FreeBSD.org> | 2008-05-18 20:23:40 +0000 |
---|---|---|
committer | Juergen Lock <nox@FreeBSD.org> | 2008-05-18 20:23:40 +0000 |
commit | 987566f671a15ea4697ccb990a6aed7547e7f0f5 (patch) | |
tree | fc3ab7d728a0ae92a06ff459a58cfb368c7c1cce /emulators/kqemu-kmod-devel/files | |
parent | f37afdb032efa98e2d14714e80205d4acf657cb2 (diff) | |
download | ports-987566f671a15ea4697ccb990a6aed7547e7f0f5.tar.gz ports-987566f671a15ea4697ccb990a6aed7547e7f0f5.zip |
Notes
Diffstat (limited to 'emulators/kqemu-kmod-devel/files')
-rw-r--r-- | emulators/kqemu-kmod-devel/files/patch-tssworkaround | 6 |
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); +} |