mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-02 14:33:18 +02:00
drivers: Move (un)map_flash_region to par/spi/opaque_master
Move (un)map_flash_region function pointers from programmer_entry to par_master, spi_master, and opaque_master. This enables programmers to specify a different mapper per bus, which is needed for the internal programmer. Mapping is closely tied to the way the memory is accessed using the other functions in the bus master structs. Validate that FWH/LPC programmers provide specialized mapping in register_par_master(); this is needed for chips with FEATURE_REGISTERMAP, which only exist on FWH or LPC buses. programmer.c: Update comment in fallback_map(), NULL return is the desired behavior. Test: Read firmware on SB600 Promontory mainboard (requires physmap) Test: Read firmware externally with ft2232_spi Test: Read firmware on ICH hwseq, verify physmap still occurs Change-Id: I9c3df6ae260bcdb246dfb0cd8e043919609b014b Signed-off-by: Jonathon Hall <jonathon.hall@puri.sm> Co-Authored-by: Edward O'Callaghan <quasisec@google.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/67695 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:

committed by
Angel Pons

parent
67d5015617
commit
5afd4aeece
@ -20,7 +20,12 @@
|
||||
/* Fallback map() for programmers which don't need special handling */
|
||||
void *fallback_map(const char *descr, uintptr_t phys_addr, size_t len)
|
||||
{
|
||||
/* FIXME: Should return phys_addr. */
|
||||
/* A result of NULL causes mapped addresses to be chip physical
|
||||
* addresses, assuming only a single region is mapped (the entire flash
|
||||
* space). Chips with a second region (like a register map) require a
|
||||
* real memory mapping to distinguish the different ranges. Those chips
|
||||
* are FWH/LPC, so the bus master provides a real mapping.
|
||||
*/
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user