On Llu, 2005-03-14 at 00:13, Peter Chubb wrote:
> Greg> see mmap(2)
>
> mmap maps a file's contents into your own virtual memory.
> usr_pci_map maps part of your own virtual memory into pci bus space
> for a particular device (using the IOMMU if your machine has one), and
> returns a scatterlist
On Gwe, 2005-03-11 at 21:04, Albert Cahalan wrote:
> > Still insufficient because the device might be hotplugged on you. You
> > need a file handle that has the expected revocation effects on unplug
> > and refcounts
>
> I was under the impression that a file handle would be returned.
Then lets
On Gwe, 2005-03-11 at 21:04, Albert Cahalan wrote:
Still insufficient because the device might be hotplugged on you. You
need a file handle that has the expected revocation effects on unplug
and refcounts
I was under the impression that a file handle would be returned.
Then lets use that
On Llu, 2005-03-14 at 00:13, Peter Chubb wrote:
Greg see mmap(2)
mmap maps a file's contents into your own virtual memory.
usr_pci_map maps part of your own virtual memory into pci bus space
for a particular device (using the IOMMU if your machine has one), and
returns a scatterlist of bus
> "Greg" == Greg KH <[EMAIL PROTECTED]> writes:
Greg> On Fri, Mar 11, 2005 at 07:34:46PM +1100, Peter Chubb wrote:
>> > "Greg" == Greg KH <[EMAIL PROTECTED]> writes:
>>
Greg> On Fri, Mar 11, 2005 at 02:37:17PM +1100, Peter Chubb wrote:
>> >> +/* + * The PCI subsystem is implemented as
Greg == Greg KH [EMAIL PROTECTED] writes:
Greg On Fri, Mar 11, 2005 at 07:34:46PM +1100, Peter Chubb wrote:
Greg == Greg KH [EMAIL PROTECTED] writes:
Greg On Fri, Mar 11, 2005 at 02:37:17PM +1100, Peter Chubb wrote:
+/* + * The PCI subsystem is implemented as yet-another pseudo
Here's a two year old patch for doing the same thing inside of UML but
it was never merged. The advantage to this scheme is that UML
implements the kernel. The same driver source code can be used inside
UML and the main kernel.
I modified UML so that it implemented all of the common calls drivers
On Fri, 11 Mar 2005 14:37:17 +1100, Peter Chubb
<[EMAIL PROTECTED]> wrote:
> + npages = get_user_pages(current,
> + current->mm,
> + (unsigned long)m.virtaddr,
> + maxpages,
> +
On Fri, 11 Mar 2005 14:37:17 +1100, Peter Chubb
[EMAIL PROTECTED] wrote:
+ npages = get_user_pages(current,
+ current-mm,
+ (unsigned long)m.virtaddr,
+ maxpages,
+
Here's a two year old patch for doing the same thing inside of UML but
it was never merged. The advantage to this scheme is that UML
implements the kernel. The same driver source code can be used inside
UML and the main kernel.
I modified UML so that it implemented all of the common calls drivers
On Fri, 2005-03-11 at 19:15 +, Alan Cox wrote:
> > You forgot the PCI domain (a.k.a. hose, phb...) number.
> > Also, you might encode bus,slot,function according to
> > the PCI spec. So that gives:
> >
> > long usr_pci_open(unsigned pcidomain, unsigned devspec, __u64 dmamask);
>
> Still
On Gwe, 2005-03-11 at 08:34, Peter Chubb wrote:
> Greg> If you make it a real, mountable filesystem, then you don't need
> Greg> to have any of your new syscalls, right? Why not just do that
> Greg> instead?
> The only call that would go is usr_pci_open() -- you'd still need
> usr_pci_map(),
> You forgot the PCI domain (a.k.a. hose, phb...) number.
> Also, you might encode bus,slot,function according to
> the PCI spec. So that gives:
>
> long usr_pci_open(unsigned pcidomain, unsigned devspec, __u64 dmamask);
Still insufficient because the device might be hotplugged on you. You
need
On Friday, March 11, 2005 7:21 am, Greg KH wrote:
> > The only call that would go is usr_pci_open() -- you'd still need
> > usr_pci_map()
>
> see mmap(2)
>
> > , usr_pci_unmap()
>
> see munmap(2)
Aren't those different cases though? E.g. you might have a buffer in userland
that you want to DMA
On Fri, Mar 11, 2005 at 07:34:46PM +1100, Peter Chubb wrote:
> > "Greg" == Greg KH <[EMAIL PROTECTED]> writes:
>
> Greg> On Fri, Mar 11, 2005 at 02:37:17PM +1100, Peter Chubb wrote:
> >> +/* + * The PCI subsystem is implemented as yet-another pseudo
> >> filesystem, + * albeit one that is
Hi!
> >> +/* + * The PCI subsystem is implemented as yet-another pseudo
> >> filesystem, + * albeit one that is never mounted. + * This is its
> >> magic number. + */ +#define USR_PCI_MAGIC (0x12345678)
>
> Greg> If you make it a real, mountable filesystem, then you don't need
> Greg> to have
> "Greg" == Greg KH <[EMAIL PROTECTED]> writes:
Greg> On Fri, Mar 11, 2005 at 02:37:17PM +1100, Peter Chubb wrote:
>> +/* + * The PCI subsystem is implemented as yet-another pseudo
>> filesystem, + * albeit one that is never mounted. + * This is its
>> magic number. + */ +#define
Greg == Greg KH [EMAIL PROTECTED] writes:
Greg On Fri, Mar 11, 2005 at 02:37:17PM +1100, Peter Chubb wrote:
+/* + * The PCI subsystem is implemented as yet-another pseudo
filesystem, + * albeit one that is never mounted. + * This is its
magic number. + */ +#define USR_PCI_MAGIC (0x12345678)
Hi!
+/* + * The PCI subsystem is implemented as yet-another pseudo
filesystem, + * albeit one that is never mounted. + * This is its
magic number. + */ +#define USR_PCI_MAGIC (0x12345678)
Greg If you make it a real, mountable filesystem, then you don't need
Greg to have any of your
On Fri, Mar 11, 2005 at 07:34:46PM +1100, Peter Chubb wrote:
Greg == Greg KH [EMAIL PROTECTED] writes:
Greg On Fri, Mar 11, 2005 at 02:37:17PM +1100, Peter Chubb wrote:
+/* + * The PCI subsystem is implemented as yet-another pseudo
filesystem, + * albeit one that is never mounted. + *
On Friday, March 11, 2005 7:21 am, Greg KH wrote:
The only call that would go is usr_pci_open() -- you'd still need
usr_pci_map()
see mmap(2)
, usr_pci_unmap()
see munmap(2)
Aren't those different cases though? E.g. you might have a buffer in userland
that you want to DMA to a card,
You forgot the PCI domain (a.k.a. hose, phb...) number.
Also, you might encode bus,slot,function according to
the PCI spec. So that gives:
long usr_pci_open(unsigned pcidomain, unsigned devspec, __u64 dmamask);
Still insufficient because the device might be hotplugged on you. You
need a
On Gwe, 2005-03-11 at 08:34, Peter Chubb wrote:
Greg If you make it a real, mountable filesystem, then you don't need
Greg to have any of your new syscalls, right? Why not just do that
Greg instead?
The only call that would go is usr_pci_open() -- you'd still need
usr_pci_map(),
On Fri, 2005-03-11 at 19:15 +, Alan Cox wrote:
You forgot the PCI domain (a.k.a. hose, phb...) number.
Also, you might encode bus,slot,function according to
the PCI spec. So that gives:
long usr_pci_open(unsigned pcidomain, unsigned devspec, __u64 dmamask);
Still insufficient
On Fri, Mar 11, 2005 at 02:37:17PM +1100, Peter Chubb wrote:
> +/*
> + * The PCI subsystem is implemented as yet-another pseudo filesystem,
> + * albeit one that is never mounted.
> + * This is its magic number.
> + */
> +#define USR_PCI_MAGIC (0x12345678)
If you make it a real, mountable
Peter Chubb writes:
> There are three new system calls:
>
> long usr_pci_open(int bus, int slot, int function, __u64 dma_mask);
> Returns a filedescriptor for the PCI device described
> by bus,slot,function. It also enables the device, and sets it
> up as a
USER LEVEL DRIVERS: enable PCI device drivers at user space.
This patch adds the capability for suitably privileged user-level processes to
enable a PCI device, and set up DMA for it. A subsequent patch hooks up
the actual system calls.
There are three new system calls:
long
USER LEVEL DRIVERS: enable PCI device drivers at user space.
This patch adds the capability for suitably privileged user-level processes to
enable a PCI device, and set up DMA for it. A subsequent patch hooks up
the actual system calls.
There are three new system calls:
long
Peter Chubb writes:
There are three new system calls:
long usr_pci_open(int bus, int slot, int function, __u64 dma_mask);
Returns a filedescriptor for the PCI device described
by bus,slot,function. It also enables the device, and sets it
up as a
On Fri, Mar 11, 2005 at 02:37:17PM +1100, Peter Chubb wrote:
+/*
+ * The PCI subsystem is implemented as yet-another pseudo filesystem,
+ * albeit one that is never mounted.
+ * This is its magic number.
+ */
+#define USR_PCI_MAGIC (0x12345678)
If you make it a real, mountable filesystem,
30 matches
Mail list logo