Get rid of unneeded union.
Verify that BAR sizes are powers of two. --HG-- extra : convert_revision : ce8dca07aaf1a340cc166b99b5858613a954e2fd
This commit is contained in:
parent
19d51452b1
commit
b77da23e1a
2 changed files with 15 additions and 18 deletions
|
@ -429,12 +429,12 @@ CREATE_SIM_OBJECT(PciConfigData)
|
|||
data->config.headerType = htole(HeaderType);
|
||||
data->config.bist = htole(BIST);
|
||||
|
||||
data->config.baseAddr0 = htole(BAR0);
|
||||
data->config.baseAddr1 = htole(BAR1);
|
||||
data->config.baseAddr2 = htole(BAR2);
|
||||
data->config.baseAddr3 = htole(BAR3);
|
||||
data->config.baseAddr4 = htole(BAR4);
|
||||
data->config.baseAddr5 = htole(BAR5);
|
||||
data->config.baseAddr[0] = htole(BAR0);
|
||||
data->config.baseAddr[1] = htole(BAR1);
|
||||
data->config.baseAddr[2] = htole(BAR2);
|
||||
data->config.baseAddr[3] = htole(BAR3);
|
||||
data->config.baseAddr[4] = htole(BAR4);
|
||||
data->config.baseAddr[5] = htole(BAR5);
|
||||
data->config.cardbusCIS = htole(CardbusCIS);
|
||||
data->config.subsystemVendorID = htole(SubsystemVendorID);
|
||||
data->config.subsystemID = htole(SubsystemVendorID);
|
||||
|
@ -451,6 +451,14 @@ CREATE_SIM_OBJECT(PciConfigData)
|
|||
data->BARSize[4] = BAR4Size;
|
||||
data->BARSize[5] = BAR5Size;
|
||||
|
||||
for (int i = 0; i < 6; ++i) {
|
||||
uint32_t barsize = data->BARSize[i];
|
||||
if (barsize != 0 && !isPowerOf2(barsize)) {
|
||||
fatal("%s: BAR %d size %d is not a power of 2\n",
|
||||
getInstanceName(), i, data->BARSize[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
|
|
@ -54,18 +54,7 @@ union PCIConfig {
|
|||
uint8_t latencyTimer;
|
||||
uint8_t headerType;
|
||||
uint8_t bist;
|
||||
union {
|
||||
uint32_t baseAddr[6];
|
||||
|
||||
struct {
|
||||
uint32_t baseAddr0;
|
||||
uint32_t baseAddr1;
|
||||
uint32_t baseAddr2;
|
||||
uint32_t baseAddr3;
|
||||
uint32_t baseAddr4;
|
||||
uint32_t baseAddr5;
|
||||
};
|
||||
};
|
||||
uint32_t cardbusCIS;
|
||||
uint16_t subsystemVendorID;
|
||||
uint16_t subsystemID;
|
||||
|
|
Loading…
Reference in a new issue