> Great, great, great!
>
> Hats off!
>
> It works! :)
>
> # grep disabled /var/adm/messages
> Mar 6 19:37:50 solaris unix: [ID 535085 kern.notice]
> NOTICE: driver ohci disabled
> Mar 6 19:37:50 solaris unix: [ID 535085 kern.notice]
> NOTICE: driver ehci disabled
> Mar 6 19:37:50 solaris unix: [ID 535085 kern.notice]
> NOTICE: driver uhci disabled
> ...and
>
> # date;sleep 15; date
> 2008. március 6. 19:43:48 CET
> 2008. március 6. 19:44:03 CET
>
> Really took 15 seconds!!!
> As I don't need usb devices (well, not always - if
> I'm in front of the machine, the only keyboard option
> is a usb keyboard), but other than that, no need for
> external devices.
> Maybe I'll experiment by disabling various *hci
> devices, and see what happens. (Maybe I'll put the
> results here in case somebody interested)
>
> Thank you very much, it was a great help for me, and
> for others too!!
>
> Can this be considered as a bug? I mean, should I
> file one?
I'd say this is a bug in the system's bios. My wild
guess is that the bios messes with the PIT timer
when usb legacy support for the keyboard gets
disabled, which should happen at the time the
Solaris ohci or uhci driver takes control of the usb 1.x
hardware. (I think that the X2100 uses some kind of
nVidia chipset, so most likely the box uses ohci
usb 1.x hardware and has no uhci 1.x controller -
boxes with intel chipsets would use uhci)
Hmm, looking at build_84 xVM sources, I see that
there is a hypervisor option named "correct_pit"
that might work around the problem, too.
Try to boot the xVM dom0 with something like
this:
kernel$ /boot/$ISADIR/xen.gz correct_pit
% more xen.hg/.hg/patches/check-pit-channel2
Watch PIT channel 2 and reprogram it, when it goes wrong.
Signed-off-by: Max Zhen <[EMAIL PROTECTED]>
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -35,6 +35,14 @@
/* NB. This is a gross hack. Mainly useful for HPET testing. */
static int opt_hpet_force = 0;
boolean_param("hpet_force", opt_hpet_force);
+/*
+ * On some buggy platform, PIT channel 2 can be interfered w/ by
+ * other devices. So, we try to do a sanity check every so often.
+ * If it jitters too much, we'll reprogram it immediately to do
+ * mode 0 (interrupt on terminal count mode) binary count.
+ */
+static int opt_correct_pit = 0;
+boolean_param("correct_pit", opt_correct_pit);
#define EPOCH MILLISECS(1000)
...
This message posted from opensolaris.org
_______________________________________________
xen-discuss mailing list
[email protected]