pci/shpc: Move function to generic header file
This function should be declared in generic header file so we can utilize it. Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com> Signed-off-by: Marcel Apfelbaum <marcel@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
6f0bb23072
commit
37e626ceda
@ -1,6 +1,7 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qemu-common.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "qemu/range.h"
|
||||
#include "qemu/error-report.h"
|
||||
#include "hw/pci/shpc.h"
|
||||
@ -122,16 +123,6 @@
|
||||
#define SHPC_PCI_TO_IDX(pci_slot) ((pci_slot) - 1)
|
||||
#define SHPC_IDX_TO_PHYSICAL(slot) ((slot) + 1)
|
||||
|
||||
static int roundup_pow_of_two(int x)
|
||||
{
|
||||
x |= (x >> 1);
|
||||
x |= (x >> 2);
|
||||
x |= (x >> 4);
|
||||
x |= (x >> 8);
|
||||
x |= (x >> 16);
|
||||
return x + 1;
|
||||
}
|
||||
|
||||
static uint16_t shpc_get_status(SHPCDevice *shpc, int slot, uint16_t msk)
|
||||
{
|
||||
uint8_t *status = shpc->config + SHPC_SLOT_STATUS(slot);
|
||||
@ -656,7 +647,7 @@ int shpc_init(PCIDevice *d, PCIBus *sec_bus, MemoryRegion *bar,
|
||||
|
||||
int shpc_bar_size(PCIDevice *d)
|
||||
{
|
||||
return roundup_pow_of_two(SHPC_SLOT_REG(SHPC_MAX_SLOTS));
|
||||
return pow2roundup32(SHPC_SLOT_REG(SHPC_MAX_SLOTS));
|
||||
}
|
||||
|
||||
void shpc_cleanup(PCIDevice *d, MemoryRegion *bar)
|
||||
|
@ -400,6 +400,16 @@ static inline uint64_t pow2ceil(uint64_t value)
|
||||
return 0x8000000000000000ull >> (n - 1);
|
||||
}
|
||||
|
||||
static inline uint32_t pow2roundup32(uint32_t x)
|
||||
{
|
||||
x |= (x >> 1);
|
||||
x |= (x >> 2);
|
||||
x |= (x >> 4);
|
||||
x |= (x >> 8);
|
||||
x |= (x >> 16);
|
||||
return x + 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* urshift - 128-bit Unsigned Right Shift.
|
||||
* @plow: in/out - lower 64-bit integer.
|
||||
|
Loading…
Reference in New Issue
Block a user