On 2/21/25 03:23, Jamin Lin wrote:
Hi Cedric,

Cc: Troy Lee <troy_...@aspeedtech.com>
Subject: Re: [PATCH v3 04/28] hw/arm/aspeed: Rename IRQ table and machine
name for AST2700 A0

On 2/13/25 04:35, Jamin Lin wrote:
Currently, AST2700 SoC only supports A0. To support AST2700 A1, rename
its IRQ table and machine name.

Signed-off-by: Jamin Lin <jamin_...@aspeedtech.com>
---
   hw/arm/aspeed.c         | 8 ++++----
   hw/arm/aspeed_ast27x0.c | 8 ++++----
   2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index
d9418e2b9f..6ddfdbdeba 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -1654,12 +1654,12 @@ static void
ast2700_evb_i2c_init(AspeedMachineState *bmc)
                               TYPE_TMP105, 0x4d);
   }

-static void aspeed_machine_ast2700_evb_class_init(ObjectClass *oc,
void *data)
+static void aspeed_machine_ast2700a0_evb_class_init(ObjectClass *oc,
+void *data)
   {
       MachineClass *mc = MACHINE_CLASS(oc);
       AspeedMachineClass *amc = ASPEED_MACHINE_CLASS(oc);

-    mc->desc = "Aspeed AST2700 EVB (Cortex-A35)";
+    mc->desc = "Aspeed AST2700 A0 EVB (Cortex-A35)";
       amc->soc_name  = "ast2700-a0";
       amc->hw_strap1 = AST2700_EVB_HW_STRAP1;
       amc->hw_strap2 = AST2700_EVB_HW_STRAP2; @@ -1795,9 +1795,9
@@
static const TypeInfo aspeed_machine_types[] = {
           .class_init     =
aspeed_minibmc_machine_ast1030_evb_class_init,
   #ifdef TARGET_AARCH64
       }, {
-        .name          = MACHINE_TYPE_NAME("ast2700-evb"),
+        .name          = MACHINE_TYPE_NAME("ast2700a0-evb"),

machine "ast2700-evb" has now disappeared from QEMU. You need to add an
alias with "mc->alias" to restore the initial machine name, or follow the


Will add

deprecation process :

    https://qemu.readthedocs.io/en/v9.2.0/about/deprecated.html

Thanks for letting me know about the machine deprecation rules.
I understand why you suggest aliasing the initial machine "ast2700-evb" to 
"ast2700a0-evb."

yes. This to maintain compatibility for the user.

Also, this change is breaking the tests. Please run 'make check'
To follow the machine deprecation rule, the initial machine "ast2700-evb" is aliased to 
"ast2700a0-evb."

You don't need the alias to deprecate a machine. You need the alias
to maintain compatibility when renaming a machine.

To deprecate, you should update docs/about/deprecated.rst.

In the future, we will alias "ast2700-evb" to new SoCs, such as "ast2700a1-evb."

Yes we could do that.

Or we could keep the ast2700a0-evb and ast2700a1-evb machines,
change the alias to point to ast2700a1-evb first and later on
deprecate ast2700a0-evb.


Thanks,

C.



Does this progress meet your expectations?

Thanks-Jamin

Thanks,

C.



           .parent        = TYPE_ASPEED_MACHINE,
-        .class_init    = aspeed_machine_ast2700_evb_class_init,
+        .class_init    = aspeed_machine_ast2700a0_evb_class_init,
   #endif
       }, {
           .name          = TYPE_ASPEED_MACHINE,
diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c index
2d0c99f159..6e3375f5d3 100644
--- a/hw/arm/aspeed_ast27x0.c
+++ b/hw/arm/aspeed_ast27x0.c
@@ -72,7 +72,7 @@ static const hwaddr aspeed_soc_ast2700_memmap[] =
{
   #define AST2700_MAX_IRQ 256

   /* Shared Peripheral Interrupt values below are offset by -32 from
datasheet */ -static const int aspeed_soc_ast2700_irqmap[] = {
+static const int aspeed_soc_ast2700a0_irqmap[] = {
       [ASPEED_DEV_UART0]     = 132,
       [ASPEED_DEV_UART1]     = 132,
       [ASPEED_DEV_UART2]     = 132,
@@ -740,7 +740,7 @@ static void aspeed_soc_ast2700_realize(DeviceState
*dev, Error **errp)
       create_unimplemented_device("ast2700.io", 0x0, 0x4000000);
   }

-static void aspeed_soc_ast2700_class_init(ObjectClass *oc, void
*data)
+static void aspeed_soc_ast2700a0_class_init(ObjectClass *oc, void
+*data)
   {
       static const char * const valid_cpu_types[] = {
           ARM_CPU_TYPE_NAME("cortex-a35"), @@ -763,7 +763,7 @@
static
void aspeed_soc_ast2700_class_init(ObjectClass *oc, void *data)
       sc->uarts_num    = 13;
       sc->num_cpus     = 4;
       sc->uarts_base   = ASPEED_DEV_UART0;
-    sc->irqmap       = aspeed_soc_ast2700_irqmap;
+    sc->irqmap       = aspeed_soc_ast2700a0_irqmap;
       sc->memmap       = aspeed_soc_ast2700_memmap;
       sc->get_irq      = aspeed_soc_ast2700_get_irq;
   }
@@ -778,7 +778,7 @@ static const TypeInfo aspeed_soc_ast27x0_types[] = {
           .name           = "ast2700-a0",
           .parent         = TYPE_ASPEED27X0_SOC,
           .instance_init  = aspeed_soc_ast2700_init,
-        .class_init     = aspeed_soc_ast2700_class_init,
+        .class_init     = aspeed_soc_ast2700a0_class_init,
       },
   };




Reply via email to