[flashrom] [PATCH 6/8] use getpagesize() to determine physmap's length in nicintel_spi.c
Stefan Tauner
stefan.tauner at student.tuwien.ac.at
Thu Mar 31 13:03:54 CEST 2011
On Thu, 31 Mar 2011 08:45:39 +0200
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net> wrote:
> Could you patch physmap instead to round down the requested address
> and round up the end of the range? Then we could just request the
> amount we need without having to care in each programmer driver about
> page size. I think somewhere in flashrom we even have rounding code
> for physmap, it just needs to be moved from a driver to the generic
> physmap.
oh. steep learning curve there. :)
not because the rounding is complicated, but because i am not sure i am
aware of all side effects.
i guess the existing rounding code you was referring to is that in
sb600spi.c?
what i can do/propose for now:
change physmap_common as follows:
instead of the two check including getpagesize():
- round down the physical address requested later from phys_to_virt to
the nearest getpagesize()-aligned address
- round up the length requested later accordingly i.e. request a
physical window that is aligned to pages and includes at least the
memory described by phys_addr + len
- return virt_addr after adding the offset from rounding down the
physical address
- change nicintel_spi.c accordingly
i would rather not touch the other drivers for now. i think i know what
we are doing here in theory, but i fear i would break something :)
ps: i can't fully test this, because i broke my intel nic when i tried
to unsolder the flash (to add a smd zif socket for further tinkering).
--
Kind regards/Mit freundlichen Grüßen, Stefan Tauner
More information about the flashrom
mailing list