mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
Pflash and firmware configuration patches for 2019-03-11
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJchtowAAoJEDhwtADrkYZTbmwP/i3N1SjDjg6j5ymzjl4YtaBP k61RoZ4Z/FPRuPGov1/WUrreqS7vqPLyCz4UpwgnAc3gslGGhYMAosU3EDtUYlS4 hzI2lfAGoUQwAYvB6nLYQI81gKDf4HY/hMzzC38OrH89XRr2GgBFDJmz9WURlof/ 4ZHLkEQLasq93bEAItNZ/bAiEEwiidE13JTuFZ6PPzoMQYZlD2irjtPefFITGeV8 rz0qRMuPSoOEm5dx4YoLnhyrGQP9DUKmhWKsiZqEVXnNhUtaki0g4wt9/dLsnvzS XnQINyTsGnqyqLaam8MT6hPMFZZexVd0h6JhIFVOxKbpF82/wLgWiWgPiiyZQVaF O10bcz3M2liCC7ttU+LGaoZLch+ua9k0PqqfeCxC8VbpTOBUJc75QJWOOu1snhnA iZB20oG61pEk9GTV8n44uARRdZ9vYAN2C2kKYuRFxTBjp9epKAa7zJGJQcj88l3y AXm+XhZEddFU4eI5wMlRvjVDSLb6CJ1bukps9gKEDBJoiUbLTLQbEtv82PmwRFLk ZkyHhFrox02tblh4bTjE81gTd8yVG2dzTuvykX14EXbeqWcGeR9EGmqOZ1mJv1jq kfKvydh4VEAakhJAdNhypWt9+sjko6jSpHlejRFzgQWFXPiR4Kh72+QWWTFipUXM x8609BVHji8Sg9dWMT/Y =k9u2 -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/armbru/tags/pull-pflash-2019-03-11' into staging Pflash and firmware configuration patches for 2019-03-11 # gpg: Signature made Mon 11 Mar 2019 21:59:12 GMT # gpg: using RSA key 3870B400EB918653 # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full] # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full] # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * remotes/armbru/tags/pull-pflash-2019-03-11: (27 commits) docs/interop/firmware.json: Prefer -machine to if=pflash pc: Support firmware configuration with -blockdev pc_sysfw: Pass PCMachineState to pc_system_firmware_init() pc_sysfw: Remove unused PcSysFwDevice pflash_cfi01: Add pflash_cfi01_get_blk() helper vl: Create block backends before setting machine properties vl: Factor configure_blockdev() out of main() vl: Improve legibility of BlockdevOptions queue sysbus: Fix latent bug with onboard devices vl: Fix latent bug with -global and onboard devices qom: Move compat_props machinery from qdev to QOM qdev: Fix latent bug with compat_props and onboard devices pflash: Clean up after commit368a354f02
, part 2 pflash: Clean up after commit368a354f02
, part 1 mips_malta: Clean up definition of flash memory size somewhat hw/mips/malta: Restrict 'bios_size' variable scope hw/mips/malta: Remove fl_sectors variable mips_malta: Delete disabled, broken DEBUG_BOARD_INIT code r2d: Fix flash memory size, sector size, width, device ID ppc405_boards: Don't size flash memory to match backing image ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
eda1df0345
36 changed files with 547 additions and 489 deletions
|
@ -5,32 +5,46 @@
|
|||
|
||||
#include "exec/memory.h"
|
||||
|
||||
#define TYPE_CFI_PFLASH01 "cfi.pflash01"
|
||||
#define TYPE_CFI_PFLASH02 "cfi.pflash02"
|
||||
|
||||
typedef struct pflash_t pflash_t;
|
||||
|
||||
/* pflash_cfi01.c */
|
||||
pflash_t *pflash_cfi01_register(hwaddr base,
|
||||
DeviceState *qdev, const char *name,
|
||||
hwaddr size,
|
||||
BlockBackend *blk,
|
||||
uint32_t sector_len, int nb_blocs, int width,
|
||||
uint16_t id0, uint16_t id1,
|
||||
uint16_t id2, uint16_t id3, int be);
|
||||
|
||||
#define TYPE_PFLASH_CFI01 "cfi.pflash01"
|
||||
#define PFLASH_CFI01(obj) \
|
||||
OBJECT_CHECK(PFlashCFI01, (obj), TYPE_PFLASH_CFI01)
|
||||
|
||||
typedef struct PFlashCFI01 PFlashCFI01;
|
||||
|
||||
PFlashCFI01 *pflash_cfi01_register(hwaddr base,
|
||||
const char *name,
|
||||
hwaddr size,
|
||||
BlockBackend *blk,
|
||||
uint32_t sector_len,
|
||||
int width,
|
||||
uint16_t id0, uint16_t id1,
|
||||
uint16_t id2, uint16_t id3,
|
||||
int be);
|
||||
BlockBackend *pflash_cfi01_get_blk(PFlashCFI01 *fl);
|
||||
MemoryRegion *pflash_cfi01_get_memory(PFlashCFI01 *fl);
|
||||
|
||||
/* pflash_cfi02.c */
|
||||
pflash_t *pflash_cfi02_register(hwaddr base,
|
||||
DeviceState *qdev, const char *name,
|
||||
hwaddr size,
|
||||
BlockBackend *blk, uint32_t sector_len,
|
||||
int nb_blocs, int nb_mappings, int width,
|
||||
uint16_t id0, uint16_t id1,
|
||||
uint16_t id2, uint16_t id3,
|
||||
uint16_t unlock_addr0, uint16_t unlock_addr1,
|
||||
int be);
|
||||
|
||||
MemoryRegion *pflash_cfi01_get_memory(pflash_t *fl);
|
||||
#define TYPE_PFLASH_CFI02 "cfi.pflash02"
|
||||
#define PFLASH_CFI02(obj) \
|
||||
OBJECT_CHECK(PFlashCFI02, (obj), TYPE_PFLASH_CFI02)
|
||||
|
||||
typedef struct PFlashCFI02 PFlashCFI02;
|
||||
|
||||
PFlashCFI02 *pflash_cfi02_register(hwaddr base,
|
||||
const char *name,
|
||||
hwaddr size,
|
||||
BlockBackend *blk,
|
||||
uint32_t sector_len,
|
||||
int nb_mappings,
|
||||
int width,
|
||||
uint16_t id0, uint16_t id1,
|
||||
uint16_t id2, uint16_t id3,
|
||||
uint16_t unlock_addr0,
|
||||
uint16_t unlock_addr1,
|
||||
int be);
|
||||
|
||||
/* nand.c */
|
||||
DeviceState *nand_init(BlockBackend *blk, int manf_id, int chip_id);
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "hw/boards.h"
|
||||
#include "hw/isa/isa.h"
|
||||
#include "hw/block/fdc.h"
|
||||
#include "hw/block/flash.h"
|
||||
#include "net/net.h"
|
||||
#include "hw/i386/ioapic.h"
|
||||
|
||||
|
@ -39,6 +40,7 @@ struct PCMachineState {
|
|||
PCIBus *bus;
|
||||
FWCfgState *fw_cfg;
|
||||
qemu_irq *gsi;
|
||||
PFlashCFI01 *flash[2];
|
||||
|
||||
/* Configuration options: */
|
||||
uint64_t max_ram_below_4g;
|
||||
|
@ -277,8 +279,8 @@ extern PCIDevice *piix4_dev;
|
|||
int piix4_init(PCIBus *bus, ISABus **isa_bus, int devfn);
|
||||
|
||||
/* pc_sysfw.c */
|
||||
void pc_system_firmware_init(MemoryRegion *rom_memory,
|
||||
bool isapc_ram_fw);
|
||||
void pc_system_flash_create(PCMachineState *pcms);
|
||||
void pc_system_firmware_init(PCMachineState *pcms, MemoryRegion *rom_memory);
|
||||
|
||||
/* acpi-build.c */
|
||||
void pc_madt_cpu_entry(AcpiDeviceIf *adev, int uid,
|
||||
|
|
|
@ -431,8 +431,6 @@ const char *qdev_fw_name(DeviceState *dev);
|
|||
|
||||
Object *qdev_get_machine(void);
|
||||
|
||||
void object_apply_compat_props(Object *obj);
|
||||
|
||||
/* FIXME: make this a link<> */
|
||||
void qdev_set_parent_bus(DeviceState *dev, BusState *bus);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue