mirror of https://gitee.com/openkylin/qemu.git
pflash_cfi01: fix vendor specific extended query
pflash_cfi01 announces a version number of 1.1, which implies "Protection Register Information" and "Burst Read information" sections, which are not provided. Decrease the version number to 1.0 so that only the "Protection Register Information" section is needed. Set the number of protection fields (0x3f) to 0x01, as 0x00 means 256 protections field, which makes the CFI table bigger than the current implementation, causing some kernels to fail to read it. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
d104bebd07
commit
262e1eaafa
|
@ -711,7 +711,7 @@ pflash_t *pflash_cfi01_register(target_phys_addr_t base,
|
||||||
pfl->cfi_table[0x33] = 'I';
|
pfl->cfi_table[0x33] = 'I';
|
||||||
|
|
||||||
pfl->cfi_table[0x34] = '1';
|
pfl->cfi_table[0x34] = '1';
|
||||||
pfl->cfi_table[0x35] = '1';
|
pfl->cfi_table[0x35] = '0';
|
||||||
|
|
||||||
pfl->cfi_table[0x36] = 0x00;
|
pfl->cfi_table[0x36] = 0x00;
|
||||||
pfl->cfi_table[0x37] = 0x00;
|
pfl->cfi_table[0x37] = 0x00;
|
||||||
|
@ -723,6 +723,8 @@ pflash_t *pflash_cfi01_register(target_phys_addr_t base,
|
||||||
pfl->cfi_table[0x3b] = 0x00;
|
pfl->cfi_table[0x3b] = 0x00;
|
||||||
pfl->cfi_table[0x3c] = 0x00;
|
pfl->cfi_table[0x3c] = 0x00;
|
||||||
|
|
||||||
|
pfl->cfi_table[0x3f] = 0x01; /* Number of protection fields */
|
||||||
|
|
||||||
return pfl;
|
return pfl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue