[coreboot] flashrom: Fix error -EINVAL on mmap()
Paul Menzel
paulepanter at users.sourceforge.net
Tue Aug 12 09:03:51 CEST 2008
Dear list,
Am Dienstag, den 12.08.2008, 07:53 +0200 schrieb Segher Boessenkool:
> Don't calculate "flash_baseaddr" until the final value of "size"
> is known, otherwise we end up trying to map a page right after
> end of memory.
> Index: flashrom/flashrom.c
> ===================================================================
> --- flashrom.orig/flashrom.c
> +++ flashrom/flashrom.c
> @@ -116,14 +116,6 @@
>
> size = flash->total_size * 1024;
>
> -#ifdef TS5300
> - // FIXME: Wrong place for this decision
> - // FIXME: This should be autodetected. It is trivial.
> - flash_baseaddr = 0x9400000;
> -#else
> - flash_baseaddr = (0xffffffff - size + 1);
> -#endif
> -
> /* If getpagesize() > size ->
> * "Can't mmap memory using /dev/mem: Invalid argument"
> * This should never happen as we don't support any flash chips
> @@ -139,6 +131,14 @@
> size = getpagesize();
> }
>
> +#ifdef TS5300
> + // FIXME: Wrong place for this decision
> + // FIXME: This should be autodetected. It is trivial.
> + flash_baseaddr = 0x9400000;
> +#else
> + flash_baseaddr = (0xffffffff - size + 1);
> +#endif
> +
> bios = mmap(0, size, PROT_WRITE | PROT_READ, MAP_SHARED,
> fd_mem, (off_t) flash_baseaddr);
> if (bios == MAP_FAILED) {
How do I apply it?
1. Check out flashrom [1].
2. Save the text under including the line with Index: of your message in
fix.diff in flashrom/.
3. flashrom$ patch -p1 <fix.diff
patching file flashrom.c
Hunk #1 FAILED at 116.
1 out of 1 hunk FAILED -- saving rejects to file flashrom.c.rej
missing header for unified diff at line 21 of patch
can't find file to patch at input line 21
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|flash chips
--------------------------
File to patch:
Sorry for my ignorance.
Paul
[1] http://www.coreboot.org/Flashrom#Installation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20080812/287ce638/attachment.sig>
More information about the coreboot
mailing list