|
| From: | Richard Henderson |
| Subject: | Re: [PATCH v2 6/6] hw/sparc/sun4m: Move each sun4m_hwdef definition in its class_init |
| Date: | Mon, 3 May 2021 09:27:38 -0700 |
| User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 |
On 5/2/21 11:54 AM, Philippe Mathieu-Daudé wrote:
+static void ss5_class_init(ObjectClass *oc, void *data)
+{
+ MachineClass *mc = MACHINE_CLASS(oc);
+ Sun4mMachineClass *smc = SUN4M_MACHINE_CLASS(mc);
+
+ mc->desc = "Sun4m platform, SPARCstation 5";
+ mc->is_default = true;
+ mc->default_cpu_type = SPARC_CPU_TYPE_NAME("Fujitsu-MB86904");
+ smc->hwdef = &(const struct sun4m_hwdef) {
.iommu_base = 0x10000000,
.iommu_pad_base = 0x10004000,
.iommu_pad_len = 0x0fffb000,
This is incorrect. You're creating an anonymous object on the local stack frame and saving a pointer to it.
You need to use a static const function scope variable. r~
| [Prev in Thread] | Current Thread | [Next in Thread] |