PERFORCE change 1205651 for review
John-Mark Gurney
jmg at funkthat.com
Tue Feb 3 21:44:00 UTC 2015
John Baldwin wrote this message on Tue, Feb 03, 2015 at 15:37 -0500:
> On Monday, February 02, 2015 7:12:49 pm John-Mark Gurney wrote:
> > http://p4web.freebsd.org/@@1205651?ac=10
> >
> > Change 1205651 by jmg at jmg_pciehp on 2015/02/03 00:12:18
> >
> > Add inital work to make PCIe HotPlug work... This has been tested
> > w/:
> > <inserted ExpressCard>
> > uart3: <MosChip MCS9922 PCIe to Peripheral Controller> port 0x3000-0x3007
> at device 0.0 on pci2
> > uart4: <MosChip MCS9922 PCIe to Peripheral Controller> port 0x3008-0x300f
> at device 0.1 on pci2
> > <removed ExpressCard>
> > uart3: detached
> > uart4: detached
> > <inserted ExpressCard>
> > uart3: <MosChip MCS9922 PCIe to Peripheral Controller> port 0x3000-0x3007
> at device 0.0 on pci2
> > uart4: <MosChip MCS9922 PCIe to Peripheral Controller> port 0x3008-0x300f
> at device 0.1 on pci2
> >
> > This work is based upon gavin's project branch, but fixed
> > to make some things work..
> >
> > Right now there is a nasty bit as we don't have a way for a
> > non-acpi driver to add a new PCI device, so the code hard codes
> > the extra space necessary for ACPI... This will be fixed by
> > adding necessary bus functions to tell ACPI to rescan the bus,
> > etc...
>
> Note that Ryan already had to solve this problem for SRIOV, and I think his
> solution will work fine. In particular, you can have a pci_if.m method that
> the bus drivers implement that is something like 'pci_add_device()' to tell it
> about the new device(s) it needs to rescan without forcing an entire bus
> rescan (though a bus rescan might be useful for other reasons).
Cool.. I'll take a look at this to see how to integrate this..
I wrote this code last year, around July, and brought up to HEAD and
verified that it still worked... So, I know that there is lots of work
to do...
> > +/* Interesting values for PCIe Hotplug */
> > +struct pcicfg_hp {
> > + struct task hp_inttask;
> > + struct callout_handle hp_dllhndl;
> > + int hp_cnt; /* Giant locked */
> > + uint32_t hp_slotcap; /* cache this */
> > +};
>
> Do not use a callout_handle. timeout() is about to be removed from the tree
> (there is only one consumer left). Use a struct callout instead.
Yeh, I was just looking at that for another reason.. I'll update it
shortly..
oh, btw, has it been anounced that timeout is being removed beyond
-arch or -current? i.e. was it marked deprecated in 10? if so, isn't
that distruptive to third party code that might be using it?
The reason I ask is that there were some ciphers I was thinking of
removing from OpenCrypto, but if we can remove features w/o a full
branch release, then I'll remove the ciphers before 11...
Thanks for the review!
--
John-Mark Gurney Voice: +1 415 225 5579
"All that I will do, has been done, All that I have, has not."
More information about the p4-projects
mailing list