Message ID | 1270554249-24861-9-git-send-email-weil@mail.berlios.de |
---|---|
State | New |
Headers | show |
On Tue, Apr 06, 2010 at 01:44:08PM +0200, Stefan Weil wrote: > Signed-off-by: Stefan Weil <weil@mail.berlios.de> > --- > hw/eepro100.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/hw/eepro100.c b/hw/eepro100.c > index f0acdbc..2401888 100644 > --- a/hw/eepro100.c > +++ b/hw/eepro100.c > @@ -1622,8 +1622,9 @@ static void pci_mmio_map(PCIDevice * pci_dev, int region_num, > "size=0x%08"FMT_PCIBUS", type=%d\n", > region_num, addr, size, type)); > > - if (region_num == 0) { > - /* Map control / status registers. */ > + assert(region_num == 0 || region_num == 2); > + if (region_num == 0 || region_num == 2) { Looks a bit strange ... Why do we need the if here? > + /* Map control / status registers and flash. */ > cpu_register_physical_memory(addr, size, s->mmio_index); > s->region[region_num] = addr; > } > -- > 1.7.0
Michael S. Tsirkin schrieb: > On Tue, Apr 06, 2010 at 01:44:08PM +0200, Stefan Weil wrote: > >> Signed-off-by: Stefan Weil <weil@mail.berlios.de> >> --- >> hw/eepro100.c | 5 +++-- >> 1 files changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/hw/eepro100.c b/hw/eepro100.c >> index f0acdbc..2401888 100644 >> --- a/hw/eepro100.c >> +++ b/hw/eepro100.c >> @@ -1622,8 +1622,9 @@ static void pci_mmio_map(PCIDevice * pci_dev, int region_num, >> "size=0x%08"FMT_PCIBUS", type=%d\n", >> region_num, addr, size, type)); >> >> - if (region_num == 0) { >> - /* Map control / status registers. */ >> + assert(region_num == 0 || region_num == 2); >> + if (region_num == 0 || region_num == 2) { >> > > Looks a bit strange ... Why do we need the if here? > It is not needed if everything works as it should. For compilations without NDEBUG, assert will catch a wrong region_num anyway. If code is compiled with NDEBUG, the assert does nothing, so the if is an additional guard. > >> + /* Map control / status registers and flash. */ >> cpu_register_physical_memory(addr, size, s->mmio_index); >> s->region[region_num] = addr; >> } >> -- >> 1.7.0 >>
On Tue, Apr 06, 2010 at 04:23:41PM +0200, Stefan Weil wrote: > Michael S. Tsirkin schrieb: > > On Tue, Apr 06, 2010 at 01:44:08PM +0200, Stefan Weil wrote: > > > >> Signed-off-by: Stefan Weil <weil@mail.berlios.de> > >> --- > >> hw/eepro100.c | 5 +++-- > >> 1 files changed, 3 insertions(+), 2 deletions(-) > >> > >> diff --git a/hw/eepro100.c b/hw/eepro100.c > >> index f0acdbc..2401888 100644 > >> --- a/hw/eepro100.c > >> +++ b/hw/eepro100.c > >> @@ -1622,8 +1622,9 @@ static void pci_mmio_map(PCIDevice * pci_dev, int region_num, > >> "size=0x%08"FMT_PCIBUS", type=%d\n", > >> region_num, addr, size, type)); > >> > >> - if (region_num == 0) { > >> - /* Map control / status registers. */ > >> + assert(region_num == 0 || region_num == 2); > >> + if (region_num == 0 || region_num == 2) { > >> > > > > Looks a bit strange ... Why do we need the if here? > > > > It is not needed if everything works as it should. > > For compilations without NDEBUG, assert will catch > a wrong region_num anyway. > > If code is compiled with NDEBUG, the assert does > nothing, so the if is an additional guard. We don't need the guard though: the only way to get non 0 and non 2 region is because of a bug in code. So the check is just a debugging aid. > > > >> + /* Map control / status registers and flash. */ > >> cpu_register_physical_memory(addr, size, s->mmio_index); > >> s->region[region_num] = addr; > >> } > >> -- > >> 1.7.0 > >>
diff --git a/hw/eepro100.c b/hw/eepro100.c index f0acdbc..2401888 100644 --- a/hw/eepro100.c +++ b/hw/eepro100.c @@ -1622,8 +1622,9 @@ static void pci_mmio_map(PCIDevice * pci_dev, int region_num, "size=0x%08"FMT_PCIBUS", type=%d\n", region_num, addr, size, type)); - if (region_num == 0) { - /* Map control / status registers. */ + assert(region_num == 0 || region_num == 2); + if (region_num == 0 || region_num == 2) { + /* Map control / status registers and flash. */ cpu_register_physical_memory(addr, size, s->mmio_index); s->region[region_num] = addr; }
Signed-off-by: Stefan Weil <weil@mail.berlios.de> --- hw/eepro100.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)