On Wed, Mar 21, 2012 at 03:01:46PM +0800, [email protected] wrote:
> > No idea how well OpenBSD does in xen.
>
> Last time I tried OpenBSd in Xen ~2 years it worked like crap.
> Couldn't get networking
> to work at all and it was slow as a dog.
I am running OpenBSD on Xen and it works very well:
$ sysctl kern.version
kern.version=OpenBSD 5.1 (VICTOR) #2: Mon Feb 13 10:03:45 CET 2012
oc@localhost:/usr/src/sys/arch/amd64/compile/VICTOR
$ dmesg | grep '^bios0:'
bios0: vendor Xen version "3.4.2" date 11/16/2009
bios0: Xen HVM domU
$
I use Panix (http://www.panix.com/corp/v-colo/) and am happy.
You just have to apply the 2 following patches (credit to Brian Marcotte):
--- ./sys/dev/acpi/acpi.c.orig Mon Jan 10 15:04:33 2011
+++ ./sys/dev/acpi/acpi.c Wed May 4 20:13:47 2011
@@ -609,6 +609,7 @@
return;
}
+#if 0
/*
* Check if we are able to enable ACPI control
*/
@@ -617,6 +618,7 @@
printf(", ACPI control unavailable\n");
return;
}
+#endif
/*
* Set up a pointer to the firmware control structure
@@ -696,6 +698,7 @@
* This may prevent thermal control on some systems where
* that actually does work
*/
+#if 0
acpi_write_pmreg(sc, ACPIREG_SMICMD, 0, sc->sc_fadt->acpi_enable);
idx = 0;
do {
@@ -704,7 +707,20 @@
return;
}
} while (!(acpi_read_pmreg(sc, ACPIREG_PM1_CNT, 0) & ACPI_PM1_SCI_EN));
-
+#else
+ if (sc->sc_fadt->smi_cmd && sc->sc_fadt->acpi_enable) {
+ acpi_write_pmreg(sc, ACPIREG_SMICMD, 0,
+ sc->sc_fadt->acpi_enable);
+ idx = 0;
+ do {
+ if (idx++ > ACPIEN_RETRIES) {
+ printf(", can't enable ACPI\n");
+ return;
+ }
+ } while (!(acpi_read_pmreg(sc, ACPIREG_PM1_CNT, 0) &
+ ACPI_PM1_SCI_EN));
+ }
+#endif
printf("\n%s: tables", DEVNAME(sc));
SIMPLEQ_FOREACH(entry, &sc->sc_tables, q_next) {
printf(" %.4s", entry->q_table);
--- ./sys/dev/acpi/acpicpu.c.orig Wed Jul 21 19:24:01 2010
+++ ./sys/dev/acpi/acpicpu.c Wed May 4 20:13:47 2011
@@ -394,7 +394,11 @@
sc->sc_flags |= FLAGS_NOPCT;
else if (sc->sc_pss_len > 0) {
/* Notify BIOS we are handing p-states */
+#if 0
if (sc->sc_acpi->sc_fadt->pstate_cnt)
+#else
+ if (sc->sc_acpi->sc_fadt->smi_cmd &&
sc->sc_acpi->sc_fadt->pstate_cnt)
+#endif
acpi_write_pmreg(sc->sc_acpi, ACPIREG_SMICMD, 0,
sc->sc_acpi->sc_fadt->pstate_cnt);
Later,
--
Olivier Cherrier - Symacx.com
mailto:[email protected]