[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/22] spapr_pci: set device node unit address as he
From: |
David Gibson |
Subject: |
[Qemu-devel] [PATCH 09/22] spapr_pci: set device node unit address as hex |
Date: |
Wed, 24 Jun 2015 16:30:23 +1000 |
From: Nikunj A Dadhania <address@hidden>
Device node names should encode the unit address as hex, while the
code was encodind it as integers.
Also, use FDT_NAME_MAX macro for allocating and composing the name.
Signed-off-by: Nikunj A Dadhania <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: David Gibson <address@hidden>
---
hw/ppc/spapr_pci.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c
index 7660a20..51196b5 100644
--- a/hw/ppc/spapr_pci.c
+++ b/hw/ppc/spapr_pci.c
@@ -50,6 +50,8 @@
#define RTAS_TYPE_MSI 1
#define RTAS_TYPE_MSIX 2
+#define FDT_NAME_MAX 128
+
#define _FDT(exp) \
do { \
int ret = (exp); \
@@ -973,13 +975,13 @@ static void *spapr_create_pci_child_dt(sPAPRPHBState
*phb, PCIDevice *dev,
int offset, ret, fdt_size;
int slot = PCI_SLOT(dev->devfn);
int func = PCI_FUNC(dev->devfn);
- char nodename[512];
+ char nodename[FDT_NAME_MAX];
fdt = create_device_tree(&fdt_size);
if (func != 0) {
- sprintf(nodename, "address@hidden,%d", slot, func);
+ snprintf(nodename, FDT_NAME_MAX, "address@hidden,%x", slot, func);
} else {
- sprintf(nodename, "address@hidden", slot);
+ snprintf(nodename, FDT_NAME_MAX, "address@hidden", slot);
}
offset = fdt_add_subnode(fdt, 0, nodename);
ret = spapr_populate_pci_child_dt(dev, fdt, offset, phb->index, drc_index,
@@ -1489,7 +1491,7 @@ int spapr_populate_pci_dt(sPAPRPHBState *phb,
void *fdt)
{
int bus_off, i, j, ret;
- char nodename[256];
+ char nodename[FDT_NAME_MAX];
uint32_t bus_range[] = { cpu_to_be32(0), cpu_to_be32(0xff) };
const uint64_t mmiosize = memory_region_size(&phb->memwindow);
const uint64_t w32max = (1ULL << 32) - SPAPR_PCI_MEM_WIN_BUS_OFFSET;
@@ -1525,7 +1527,7 @@ int spapr_populate_pci_dt(sPAPRPHBState *phb,
sPAPRTCETable *tcet;
/* Start populating the FDT */
- sprintf(nodename, "address@hidden" PRIx64, phb->buid);
+ snprintf(nodename, FDT_NAME_MAX, "address@hidden" PRIx64, phb->buid);
bus_off = fdt_add_subnode(fdt, 0, nodename);
if (bus_off < 0) {
return bus_off;
--
2.4.3
- [Qemu-devel] [PATCH 00/22] sPAPR updates 2015-06-24, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 10/22] spapr_iommu: drop erroneous check in h_put_tce_indirect(), David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 06/22] spapr: Add sPAPRMachineClass, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 11/22] spapr_iommu: translate sPAPRTCEAccess to IOMMUAccessFlags, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 07/22] spapr_pci: encode missing 64-bit memory address space, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 09/22] spapr_pci: set device node unit address as hex,
David Gibson <=
- [Qemu-devel] [PATCH 14/22] spapr: Support ibm, lrdr-capacity device tree property, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 12/22] Revert "hw/ppc/spapr_pci.c: Avoid functions not in glib 2.12 (g_hash_table_iter_*)", David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 13/22] spapr: Consider max_cpus during xics initialization, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 05/22] spapr: Remove obsolete entry_point field from sPAPRMachineState, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 04/22] spapr: Remove obsolete ram_limit field from sPAPRMachineState, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 08/22] spapr_pci: encode class code including Prog IF register, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 03/22] spapr: Merge sPAPREnvironment into sPAPRMachineState, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 02/22] pseries: Update SLOF firmware image to qemu-slof-20150429, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 01/22] spapr: ensure we have at least one XICS server, David Gibson, 2015/06/24
- [Qemu-devel] [PATCH 15/22] cpus: Add a macro to walk CPUs in reverse, David Gibson, 2015/06/24