NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/46828 6.0_BETA2 and 6.0_RC1 won't start on DL320/G5p



The following reply was made to PR kern/46828; it has been noted by GNATS.

From: Ryo ONODERA <ryo_on%yk.rim.or.jp@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: kern/46828 6.0_BETA2 and 6.0_RC1 won't start on DL320/G5p
Date: Sat, 22 Sep 2012 17:43:16 +0900 (JST)

 Hi,
 
 The following patch works well.
 
 According to Intel's "Enhanced Host Controller Interface Specification
 for Universal Serial Bus",
 www.intel.com/technology/usb/download/ehci-r10.pdf .
 
 In p.131, 
 "One semaphore is for the operating system (OS) and one is for the
 BIOS. These semaphores are readable and writable. These fields are in
 adjacent bytes, which allows each agent (OS or BIOS) to update their
 respective semaphore without overwriting the other ownership semaphore."
 
 I feel that BIOS part should not be overwritten by NetBSD.
 
 
 Index: ehci_pci.c
 ===================================================================
 RCS file: /cvsroot/src/sys/dev/pci/ehci_pci.c,v
 retrieving revision 1.56
 diff -u -r1.56 ehci_pci.c
 --- ehci_pci.c 20 Jul 2012 01:26:19 -0000      1.56
 +++ ehci_pci.c 22 Sep 2012 08:32:57 -0000
 @@ -395,10 +395,8 @@
                legsup = pci_conf_read(pc, tag, addr + PCI_EHCI_USBLEGSUP);
                if (legsup & EHCI_LEG_HC_BIOS_OWNED) {
                        /* Ask BIOS to give up ownership */
 -                      legsup &= ~EHCI_LEG_HC_BIOS_OWNED;
 -                      legsup |= EHCI_LEG_HC_OS_OWNED;
                        pci_conf_write(pc, tag, addr + PCI_EHCI_USBLEGSUP,
 -                          legsup);
 +                          legsup | EHCI_LEG_HC_OS_OWNED);
                        for (ms = 0; ms < EHCI_MAX_BIOS_WAIT; ms++) {
                                legsup = pci_conf_read(pc, tag,
                                    addr + PCI_EHCI_USBLEGSUP);
 
 --
 Ryo ONODERA // ryo_on%yk.rim.or.jp@localhost
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3
 
 


Home | Main Index | Thread Index | Old Index