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:av1...@comtv.ru


Reply via email to