Re: Fwd: Re: [PATCH] PCI I/O space
- From: Antti Kantee <pooka@xxxxxx>
- To: rumpkernel-users@xxxxxxxxxxxxx
- Date: Mon, 15 Jun 2015 14:17:03 +0000
On 14/06/15 17:07, Antti Kantee wrote:
As long as init$whatever means "initialize io space and return error
code", you can just #define foo 0 in features.
Except you can't, since you need to take the prototype into account, and
that messes up scheme. As usual, I shouldn't have tried to be too
clever in allowing rumpcomp_userfeatures_pci.h to define the interfaces
as macros. I'll use your (Robert's) patch, but at the same time I'll
replace the
#define rumpcomp_pci_foo rumpcomp_pci_foo
smartypantsdance with
#define RUMPCOMP_USERFEATURE_PCI_FOO
Then the code can be:
#ifdef RUMPCOMP_USERFEATURE_PCI_IOSPACE
rumpcomp_pci_initio();
#endif
I think that scheme makes more sense to someone reading any of 1)
userfeatures.h 2) kernel-side pci code 3) hypercall side.
I realize this breaks the existing implementations of PCI again, but I
don't know if any beyond the ones in repo.rumpkernel.org. At any rate,
I think the PCI hypercalls need to be completely redone properly at some
point, so they shouldn't be currently considered stable anyway.
Other related posts: