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 | |
parent | f37afdb032efa98e2d14714e80205d4acf657cb2 (diff) |
Notes
Diffstat (limited to 'emulators/kqemu-kmod-devel')
-rw-r--r-- | emulators/kqemu-kmod-devel/Makefile | 2 | ||||
-rw-r--r-- | emulators/kqemu-kmod-devel/files/patch-tssworkaround | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/emulators/kqemu-kmod-devel/Makefile b/emulators/kqemu-kmod-devel/Makefile index a07d18304e19..36d363b3140b 100644 --- a/emulators/kqemu-kmod-devel/Makefile +++ b/emulators/kqemu-kmod-devel/Makefile @@ -7,7 +7,7 @@ PORTNAME= kqemu PORTVERSION= 1.3.0.p11 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= emulators kld MASTER_SITES= http://fabrice.bellard.free.fr/qemu/ \ http://qemu.org/ \ 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); +} |