przanoni at gmail.com
Mon Oct 29 11:20:50 PDT 2007
Answers to a few paragraphs:
> Are there also internal kernel interfaces for things like vgacon or
> driver save/restore routines to use?
No, because it is currently a module. But when it was just a patch,
there was an interface. Look at vgaarb.h in the code of the module: it
was the interface for the other parts of the kernel.
> An important function I wanted to have is when a video driver such as
> radeon knows it will only use MMIO and no legacy stuff, it can take
> itself out of the arbitration (take the card out of the arbitration) at
> least until I needs to use legacy stuff again.
You can use the "decodes" to say that you don't decode legacy stuff
and remove yourself out of the arbitration.
> Ok, I had a look at my old code and I'm wondering how it works as a
> module since you need to have the PCI code call
When someone calls the function "target" we check if the device is
already on the list. If not, then we call vga_arbiter_add_pci_device.
I know this is not the correct way, but it allows us to use it as a
module =). When we go back to a kernel patch we'll be able to do it
correctly. (Tiago says he knows how to do it).
We're using a module because testing kernel modules is way much easier
than testing kernel patches. We're just trying to make a proof of
And about the repos: it would be good to have a public repo because
everyone would be able to help =)
After we have some good proof of concept we'll send an e-mail to the
lkml to see what they think about it.
More information about the xorg