Good to hear that this works for you! Now that we have you back up and running, can you tell us a little about this device? In particular I'd like to know what we need to do in order to automatically enumerate it.
So far I understand that it is an IPMI device that is not enumerated as part of PCI config space. However you are instantiating it as a PCI device, so I presume it is one. How does it attach to the system, and does the BIOS generate ACPI tables that describe it? Solaris doesn't currently enumerate devices based on such tables, but are considering whether we should or need to. -jan > This is in fact how its done. The important step is to add the set > pci_allow_pseudo_children=1 to the etc/system file, otherwise PCI will > not load the information. When I first tried to add device node > information to the dot-conf file pci wouldn't read it, but it was not > evident why it wouldn't. > > Thanks for all you help. > > Lou > > Jan Setje-Eilers wrote: > > > You'll want to take a look at the driver.conf(4) man page and > >translate all the bits of information you previously decorated the > >node with via boot.rc into your .conf file. > > > > So, something like: > > > >name="ipmi_lpc" parent="/[EMAIL PROTECTED],0" device-type="pci" > >unit-address="1f" ... > > > > You'll also need to tell pci that it's OK to pick up .conf enumerated > >nodes. You can do this by setting pci_allow_pseudo_children to 1 in > >etc/system. Just add a line line this: > > > > set pci_allow_pseudo_children=1 > > > > To etc/system. > > > > Please let us know this goes for you. > > > >-jan > > > > > > > >>I have tried this too, but when you try and map the registers with the > >>ddi_regs_map_setup() there's nothing to map and the call fails. There > >>is also the secondary problem of writing to the 6300ESB register space > >>so that LPC configuration can provide access to the IO space. > >> > >>Lou > >> > >>Artem Kachitchkine wrote: > >> > >> > >> > >>>Instead of creating a node, you could install your driver as a pseudo > >>>driver, by creating a /kernel/drv/ipmi_lpc.conf (or whatever's you > >>>driver name) file containing the line: > >>> > >>>name="ipmi_lpc" parent="pseudo" instance=0; > >>> > >>>The system will load the driver even if there isn't a hardware node > >>>for it. Then access any I/O address you like, considering that *you > >>>know* that no other driver on the system accesses (or at least doesn't > >>>write or read-with-side-effect) this same address. > >>> > >>>-Artem. > >>> > >>>Louis Gagne wrote: > >>> > >>> > >>> > >>>>I have implemented a character driver under X86 based Solaris 10 > >>>>release 3/05 that interfaces with a device on the ISA/LPC interface > >>>>using Intels 6300ESB I/O controller Hub. This device is not defined > >>>>by the system BIOS at boot time, so we had to do this manually by > >>>>modifying the boot startup script in boot/solaris/boot.rc to create a > >>>>device node and open up the relevant address space we needed to > >>>>access our device. We have a package that installs all the necessary > >>>>pieces for the new driver and this has worked just fine under the > >>>>3/05 version of Solaris 10. > >>>> > >>>>It does not work under X86 based Solaris 10 Update 1 - which is what > >>>>our customer is using. > >>>> > >>>>The driver itself is very simple and only accesses 3 bytes in LPC space. > >>>> > >>>>The relevant changes in boot.rc made to allow access to this space > >>>>are shown below. I have tried to add these changes to bootenv.rc, > >>>>but /usr/sbin/eeprom generates error messages on the mknod, cd and > >>>>setbinprop lines. > >>>>Does anyone have any suggestions on what I might try? > >>>>Lou > >>>> > >>>># Set node for IPMI LPC SMIC interface space in PCI IO space. > >>>>mknod /[EMAIL PROTECTED],0/ipmi_lpc > >>>>cd /[EMAIL PROTECTED],0/ipmi_lpc > >>>>setprop device-type pci > >>>>setprop name "ipmi_lpc" > >>>>setprop unit-address 0x1f > >>>>setbinprop assigned-addresses > >>>>0x0000f800,0x0,0x0,0x0,0x0,0x8100f8ec,0x0,0x00000ca0,0x0,0x00000010 > >>>>setbinprop device-id 0x25a1 > >>>>setbinprop vendor-id 0x8086 > >>>>setbinprop class-code 0x060100 > >>>>setbinprop reg > >>>>0x0000f800,0,0,0,0,0x0100F8EC,0x0,0x00000000,0x00000000,0x00000010 > >>>>This message posted from opensolaris.org > >>>>_______________________________________________ > >>>>opensolaris-discuss mailing list > >>>>[email protected] > >>>> > >>>> > >>> > >>> > >>> > >>-- > >>Louis R. Gagne > >>Momentum Computer Inc. > >>1815 Aston Ave. Suite 107 > >>Carlsbad, CA 92008 > >>(760) 431-8663 X-104 > >>(760) 431-7571 (FAX) > >>[EMAIL PROTECTED] > >> > >>_______________________________________________ > >>opensolaris-discuss mailing list > >>[email protected] > >> > >> > > > > > > > > > > > > -- > Louis R. Gagne > Momentum Computer Inc. > 1815 Aston Ave. Suite 107 > Carlsbad, CA 92008 > (760) 431-8663 X-104 > (760) 431-7571 (FAX) > [EMAIL PROTECTED] > _______________________________________________ opensolaris-discuss mailing list [email protected]
