On Tue, 9 Feb 2010, Anthony Liguori wrote:
> On 02/09/2010 05:06 PM, malc wrote:
> >
> > > We already have this problem with the current interface.
> > >
> > Uh, i've meant the registration of one function to rule them all, instead
> > of how it's done currently - separate accessors for b/w/l/whatever.
> >
>
> How does that make any difference? Both the ioport and memory registrations
> interface take the same function pointer regardless of access size.
>
> If you wanted to introduce a quad-word specific accessor, you would need to
> introduce a different registration mechanism or you would have to change the
> signature for all of the functions.
Let's see:
Currently we have this
readb(...):
dostuff
return stuff
readw(...):
dostuff
return stuff
You are replacing it with
read(size...):
if (size == 1): do1
elif (size == 2): do2
else: # and here your code assumes that everything is handy dandy
# and size is 4
do4
The interface being implicit rather than explicit about the sizes
makes this possible, so i'm against it. The code was written the
way it was written for a purpose.
--
mailto:[email protected]