diff mbox series

[1/3] hw/ppc/prep: Remove ifdeffed-out stub of XCSR code

Message ID 20180802144430.13870-2-peter.maydell@linaro.org
State Superseded
Headers show
Series hw/ppc: Convert various devices away from old_mmio | expand

Commit Message

Peter Maydell Aug. 2, 2018, 2:44 p.m. UTC
The prep machine has some code which is stubs of accessors
for XCSR registers. This has been disabled via #if 0
since commit b6b8bd1819ff in 2004, and doesn't have any
actual interesting content. It also uses the deprecated
old_mmio accessor functions. Remove it entirely.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

---
 hw/ppc/prep.c | 97 +++------------------------------------------------
 1 file changed, 4 insertions(+), 93 deletions(-)

-- 
2.17.1

Comments

Philippe Mathieu-Daudé Aug. 2, 2018, 3:45 p.m. UTC | #1
On 08/02/2018 11:44 AM, Peter Maydell wrote:
> The prep machine has some code which is stubs of accessors

> for XCSR registers. This has been disabled via #if 0

> since commit b6b8bd1819ff in 2004, and doesn't have any

> actual interesting content. It also uses the deprecated

> old_mmio accessor functions. Remove it entirely.

> 

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

> ---

>  hw/ppc/prep.c | 97 +++------------------------------------------------

>  1 file changed, 4 insertions(+), 93 deletions(-)

> 

> diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c

> index 3401570d981..b26138e5c47 100644

> --- a/hw/ppc/prep.c

> +++ b/hw/ppc/prep.c

> @@ -78,94 +78,6 @@ static int ne2000_irq[NE2000_NB_MAX] = { 9, 10, 11, 3, 4, 5 };

>  /* ISA IO ports bridge */

>  #define PPC_IO_BASE 0x80000000

>  

> -/* PowerPC control and status registers */

> -#if 0 // Not used

> -static struct {

> -    /* IDs */

> -    uint32_t veni_devi;

> -    uint32_t revi;

> -    /* Control and status */

> -    uint32_t gcsr;

> -    uint32_t xcfr;

> -    uint32_t ct32;

> -    uint32_t mcsr;

> -    /* General purpose registers */

> -    uint32_t gprg[6];

> -    /* Exceptions */

> -    uint32_t feen;

> -    uint32_t fest;

> -    uint32_t fema;

> -    uint32_t fecl;

> -    uint32_t eeen;

> -    uint32_t eest;

> -    uint32_t eecl;

> -    uint32_t eeint;

> -    uint32_t eemck0;

> -    uint32_t eemck1;

> -    /* Error diagnostic */

> -} XCSR;

> -

> -static void PPC_XCSR_writeb (void *opaque,

> -                             hwaddr addr, uint32_t value)

> -{

> -    printf("%s: 0x" TARGET_FMT_plx " => 0x%08" PRIx32 "\n", __func__, addr,

> -           value);

> -}

> -

> -static void PPC_XCSR_writew (void *opaque,

> -                             hwaddr addr, uint32_t value)

> -{

> -    printf("%s: 0x" TARGET_FMT_plx " => 0x%08" PRIx32 "\n", __func__, addr,

> -           value);

> -}

> -

> -static void PPC_XCSR_writel (void *opaque,

> -                             hwaddr addr, uint32_t value)

> -{

> -    printf("%s: 0x" TARGET_FMT_plx " => 0x%08" PRIx32 "\n", __func__, addr,

> -           value);

> -}

> -

> -static uint32_t PPC_XCSR_readb (void *opaque, hwaddr addr)

> -{

> -    uint32_t retval = 0;

> -

> -    printf("%s: 0x" TARGET_FMT_plx " <= %08" PRIx32 "\n", __func__, addr,

> -           retval);

> -

> -    return retval;

> -}

> -

> -static uint32_t PPC_XCSR_readw (void *opaque, hwaddr addr)

> -{

> -    uint32_t retval = 0;

> -

> -    printf("%s: 0x" TARGET_FMT_plx " <= %08" PRIx32 "\n", __func__, addr,

> -           retval);

> -

> -    return retval;

> -}

> -

> -static uint32_t PPC_XCSR_readl (void *opaque, hwaddr addr)

> -{

> -    uint32_t retval = 0;

> -

> -    printf("%s: 0x" TARGET_FMT_plx " <= %08" PRIx32 "\n", __func__, addr,

> -           retval);

> -

> -    return retval;

> -}

> -

> -static const MemoryRegionOps PPC_XCSR_ops = {

> -    .old_mmio = {

> -        .read = { PPC_XCSR_readb, PPC_XCSR_readw, PPC_XCSR_readl, },

> -        .write = { PPC_XCSR_writeb, PPC_XCSR_writew, PPC_XCSR_writel, },

> -    },

> -    .endianness = DEVICE_LITTLE_ENDIAN,

> -};

> -

> -#endif

> -

>  /* Fake super-io ports for PREP platform (Intel 82378ZB) */

>  typedef struct sysctrl_t {

>      qemu_irq reset_irq;

> @@ -648,11 +560,10 @@ static void ppc_prep_init(MachineState *machine)

>      portio_list_init(&prep_port_list, NULL, prep_portio_list, sysctrl, "prep");

>      portio_list_add(&prep_port_list, isa_address_space_io(isa), 0x0);

>  

> -    /* PowerPC control and status register group */

> -#if 0

> -    memory_region_init_io(xcsr, NULL, &PPC_XCSR_ops, NULL, "ppc-xcsr", 0x1000);

> -    memory_region_add_subregion(sysmem, 0xFEFF0000, xcsr);

> -#endif

> +    /*

> +     * PowerPC control and status register group: unimplemented,

> +     * would be at address 0xFEFF0000.

> +     */


While not directly use the harmless UnimplementedDevice?

       create_unimplemented_device("ppc-xcsr", 0xfeff0000, 0x1000);

Anyway,
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


>  

>      if (machine_usb(machine)) {

>          pci_create_simple(pci_bus, -1, "pci-ohci");

>
Peter Maydell Aug. 2, 2018, 3:54 p.m. UTC | #2
On 2 August 2018 at 16:45, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> While not directly use the harmless UnimplementedDevice?

>

>        create_unimplemented_device("ppc-xcsr", 0xfeff0000, 0x1000);


I preferred not to change the current behaviour for this
API conversion. If the PPC/prep maintainers would like to
use unimplemented-device they can easily do so as a a
different patch...

thanks
-- PMM
Philippe Mathieu-Daudé Aug. 2, 2018, 4:14 p.m. UTC | #3
On 08/02/2018 12:54 PM, Peter Maydell wrote:
> On 2 August 2018 at 16:45, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:

>> While not directly use the harmless UnimplementedDevice?

>>

>>        create_unimplemented_device("ppc-xcsr", 0xfeff0000, 0x1000);

> 

> I preferred not to change the current behaviour for this

> API conversion. If the PPC/prep maintainers would like to

> use unimplemented-device they can easily do so as a a

> different patch...


Now I remember there is a behaviour change in using this device:
currently an access to this address space triggers
cpu::do_transaction_failed();
using UnimplementedDevice doesn't.

So better to do this change in a different patch indeed :)
Hervé Poussineau Aug. 2, 2018, 5:34 p.m. UTC | #4
Le 02/08/2018 à 16:44, Peter Maydell a écrit :
> The prep machine has some code which is stubs of accessors

> for XCSR registers. This has been disabled via #if 0

> since commit b6b8bd1819ff in 2004, and doesn't have any

> actual interesting content. It also uses the deprecated

> old_mmio accessor functions. Remove it entirely.

> 

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

> ---

>   hw/ppc/prep.c | 97 +++------------------------------------------------

>   1 file changed, 4 insertions(+), 93 deletions(-)

> 


Reviewed-by: Hervé Poussineau <hpoussin@reactos.org>
diff mbox series

Patch

diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
index 3401570d981..b26138e5c47 100644
--- a/hw/ppc/prep.c
+++ b/hw/ppc/prep.c
@@ -78,94 +78,6 @@  static int ne2000_irq[NE2000_NB_MAX] = { 9, 10, 11, 3, 4, 5 };
 /* ISA IO ports bridge */
 #define PPC_IO_BASE 0x80000000
 
-/* PowerPC control and status registers */
-#if 0 // Not used
-static struct {
-    /* IDs */
-    uint32_t veni_devi;
-    uint32_t revi;
-    /* Control and status */
-    uint32_t gcsr;
-    uint32_t xcfr;
-    uint32_t ct32;
-    uint32_t mcsr;
-    /* General purpose registers */
-    uint32_t gprg[6];
-    /* Exceptions */
-    uint32_t feen;
-    uint32_t fest;
-    uint32_t fema;
-    uint32_t fecl;
-    uint32_t eeen;
-    uint32_t eest;
-    uint32_t eecl;
-    uint32_t eeint;
-    uint32_t eemck0;
-    uint32_t eemck1;
-    /* Error diagnostic */
-} XCSR;
-
-static void PPC_XCSR_writeb (void *opaque,
-                             hwaddr addr, uint32_t value)
-{
-    printf("%s: 0x" TARGET_FMT_plx " => 0x%08" PRIx32 "\n", __func__, addr,
-           value);
-}
-
-static void PPC_XCSR_writew (void *opaque,
-                             hwaddr addr, uint32_t value)
-{
-    printf("%s: 0x" TARGET_FMT_plx " => 0x%08" PRIx32 "\n", __func__, addr,
-           value);
-}
-
-static void PPC_XCSR_writel (void *opaque,
-                             hwaddr addr, uint32_t value)
-{
-    printf("%s: 0x" TARGET_FMT_plx " => 0x%08" PRIx32 "\n", __func__, addr,
-           value);
-}
-
-static uint32_t PPC_XCSR_readb (void *opaque, hwaddr addr)
-{
-    uint32_t retval = 0;
-
-    printf("%s: 0x" TARGET_FMT_plx " <= %08" PRIx32 "\n", __func__, addr,
-           retval);
-
-    return retval;
-}
-
-static uint32_t PPC_XCSR_readw (void *opaque, hwaddr addr)
-{
-    uint32_t retval = 0;
-
-    printf("%s: 0x" TARGET_FMT_plx " <= %08" PRIx32 "\n", __func__, addr,
-           retval);
-
-    return retval;
-}
-
-static uint32_t PPC_XCSR_readl (void *opaque, hwaddr addr)
-{
-    uint32_t retval = 0;
-
-    printf("%s: 0x" TARGET_FMT_plx " <= %08" PRIx32 "\n", __func__, addr,
-           retval);
-
-    return retval;
-}
-
-static const MemoryRegionOps PPC_XCSR_ops = {
-    .old_mmio = {
-        .read = { PPC_XCSR_readb, PPC_XCSR_readw, PPC_XCSR_readl, },
-        .write = { PPC_XCSR_writeb, PPC_XCSR_writew, PPC_XCSR_writel, },
-    },
-    .endianness = DEVICE_LITTLE_ENDIAN,
-};
-
-#endif
-
 /* Fake super-io ports for PREP platform (Intel 82378ZB) */
 typedef struct sysctrl_t {
     qemu_irq reset_irq;
@@ -648,11 +560,10 @@  static void ppc_prep_init(MachineState *machine)
     portio_list_init(&prep_port_list, NULL, prep_portio_list, sysctrl, "prep");
     portio_list_add(&prep_port_list, isa_address_space_io(isa), 0x0);
 
-    /* PowerPC control and status register group */
-#if 0
-    memory_region_init_io(xcsr, NULL, &PPC_XCSR_ops, NULL, "ppc-xcsr", 0x1000);
-    memory_region_add_subregion(sysmem, 0xFEFF0000, xcsr);
-#endif
+    /*
+     * PowerPC control and status register group: unimplemented,
+     * would be at address 0xFEFF0000.
+     */
 
     if (machine_usb(machine)) {
         pci_create_simple(pci_bus, -1, "pci-ohci");