From nobody Tue Feb 10 12:58:53 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1632908980268748.7344380070818; Wed, 29 Sep 2021 02:49:40 -0700 (PDT) Received: from localhost ([::1]:51484 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mVWDb-0005fp-5b for importer@patchew.org; Wed, 29 Sep 2021 05:49:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44932) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mVVtX-0001qs-DL for qemu-devel@nongnu.org; Wed, 29 Sep 2021 05:28:55 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:37493) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mVVtS-0005lZ-Um for qemu-devel@nongnu.org; Wed, 29 Sep 2021 05:28:55 -0400 Received: from quad ([82.142.21.142]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MTiDV-1mO8Qm1QOz-00U3Kg; Wed, 29 Sep 2021 11:28:49 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 10/20] nubus-device: remove nubus_register_rom() and nubus_register_format_block() Date: Wed, 29 Sep 2021 11:28:33 +0200 Message-Id: <20210929092843.2686234-11-laurent@vivier.eu> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210929092843.2686234-1-laurent@vivier.eu> References: <20210929092843.2686234-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:1qjO7kYPFavm1y5qjijn/PFMSLM6lICoAObLuNoVbTt9OEDz2cx gJPkhiUoofiBnqIvLn5bwEdl3tj38D0A0ypszYAthwGrGrgBMphJQIz7FZxlq7HKqGxFWCL IbtIabecu5ggvdQbZjZgdcDkIi69tPHcfOkp0VhNA11Jv5wosR4ZW26QcBpvE0hIdRDv2OM 52R0bIGM2Xum1K9Ptas/Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:UkybBEZF+FE=:kx2EFP+LFk7HAi92+wPcCc doCQ15hdP0H+tFgBWgJ7UWvEu1ecl7oaFeIzssufE0sXMV8CxMunm5YsSz/OClPGFF55jE6hh d6GZW7GocGs70Z/VY3bUyEJxhn6GbZ3rwMN6u/HlyVZM6JQEIyN+42L5G5nELOZv7uSCSkmEz 7sBMlqPDq+9W+OjQas+6ggBvZlNCe8s0pBaC8zYCCbKuml5zLBoCJVJHmKo1xl3NW74OlgcnJ erlMIOFkV+LAIehtTonzX6VKWxM8ZOaj+8k0jUjaCc6ZI+bjIT2RHS+kWy/CfgKsAvsFte53Q M9XjWCshgSvx8CI+fGK0l/KOVBhRFYdEaEU0iif/NUumjZPgSbBdf1vici89Y5e2sGXiI71s2 lPBI3UIiXKA4xaJfIJO3RZfHfYTt7xWkKiZo6Vq3Vuc+xHDG6OAV0Kp/tkIazuSxh9TPI+eEs zR89BPGEZ/awvEXmRTVuezsgLX6/cY4uGmlKc4kySZqsiVe46FQLLgz2NKXealWEgYZSNmplo 4UQlSBHVUzZ4JZWwkTwhKfXMYNSG+ay9nHgwwpbjxhoYrGIVAbuVfMfoaHlRRRdeLGNYjmIuo H/grCXdolvyCecfmJUie4QluasMWhbYQ6R6IsNRWx1um3BoFTbyBH9YEw7P4roYdRYNiq2FBc p2cXbOdJjfcoArs6Nh9A4pM4Q+1Dfz+TSDxDAw0lh8nqj9p/pNRz3v8H1Q4h47YsfJQdeccvQ QqGzwYn6gAOuZI6JZ0LGUS8HqcniAc2T2GzIyQ== Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=212.227.126.187; envelope-from=laurent@vivier.eu; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Cave-Ayland , Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZM-MESSAGEID: 1632908982443100001 Content-Type: text/plain; charset="utf-8" From: Mark Cave-Ayland Since there is no need to generate a dummy declaration ROM, remove both nubus_register_rom() and nubus_register_format_block(). These will shortly = be replaced with a mechanism to optionally load a declaration ROM from disk to allow real images to be used within QEMU. Signed-off-by: Mark Cave-Ayland Reviewed-by: Laurent Vivier Message-Id: <20210924073808.1041-11-mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier --- include/hw/nubus/nubus.h | 19 ------ hw/nubus/nubus-device.c | 143 --------------------------------------- 2 files changed, 162 deletions(-) diff --git a/include/hw/nubus/nubus.h b/include/hw/nubus/nubus.h index 3eea2952d553..187ecc00a576 100644 --- a/include/hw/nubus/nubus.h +++ b/include/hw/nubus/nubus.h @@ -44,25 +44,6 @@ struct NubusDevice { int32_t slot; MemoryRegion super_slot_mem; MemoryRegion slot_mem; - - /* Format Block */ - - MemoryRegion fblock_io; - - uint32_t rom_length; - uint32_t rom_crc; - uint8_t rom_rev; - uint8_t rom_format; - uint8_t byte_lanes; - int32_t directory_offset; - - /* ROM */ - - MemoryRegion rom_io; - const uint8_t *rom; }; =20 -void nubus_register_rom(NubusDevice *dev, const uint8_t *rom, uint32_t siz= e, - int revision, int format, uint8_t byte_lanes); - #endif diff --git a/hw/nubus/nubus-device.c b/hw/nubus/nubus-device.c index 516b13d2d53d..d4932d64a278 100644 --- a/hw/nubus/nubus-device.c +++ b/hw/nubus/nubus-device.c @@ -13,147 +13,6 @@ #include "qapi/error.h" =20 =20 -/* The Format Block Structure */ - -#define FBLOCK_DIRECTORY_OFFSET 0 -#define FBLOCK_LENGTH 4 -#define FBLOCK_CRC 8 -#define FBLOCK_REVISION_LEVEL 12 -#define FBLOCK_FORMAT 13 -#define FBLOCK_TEST_PATTERN 14 -#define FBLOCK_RESERVED 18 -#define FBLOCK_BYTE_LANES 19 - -#define FBLOCK_SIZE 20 -#define FBLOCK_PATTERN_VAL 0x5a932bc7 - -static uint64_t nubus_fblock_read(void *opaque, hwaddr addr, unsigned int = size) -{ - NubusDevice *dev =3D opaque; - uint64_t val; - -#define BYTE(v, b) (((v) >> (24 - 8 * (b))) & 0xff) - switch (addr) { - case FBLOCK_BYTE_LANES: - val =3D dev->byte_lanes; - val |=3D (val ^ 0xf) << 4; - break; - case FBLOCK_RESERVED: - val =3D 0x00; - break; - case FBLOCK_TEST_PATTERN...FBLOCK_TEST_PATTERN + 3: - val =3D BYTE(FBLOCK_PATTERN_VAL, addr - FBLOCK_TEST_PATTERN); - break; - case FBLOCK_FORMAT: - val =3D dev->rom_format; - break; - case FBLOCK_REVISION_LEVEL: - val =3D dev->rom_rev; - break; - case FBLOCK_CRC...FBLOCK_CRC + 3: - val =3D BYTE(dev->rom_crc, addr - FBLOCK_CRC); - break; - case FBLOCK_LENGTH...FBLOCK_LENGTH + 3: - val =3D BYTE(dev->rom_length, addr - FBLOCK_LENGTH); - break; - case FBLOCK_DIRECTORY_OFFSET...FBLOCK_DIRECTORY_OFFSET + 3: - val =3D BYTE(dev->directory_offset, addr - FBLOCK_DIRECTORY_OFFSET= ); - break; - default: - val =3D 0; - break; - } - return val; -} - -static void nubus_fblock_write(void *opaque, hwaddr addr, uint64_t val, - unsigned int size) -{ - /* read only */ -} - -static const MemoryRegionOps nubus_format_block_ops =3D { - .read =3D nubus_fblock_read, - .write =3D nubus_fblock_write, - .endianness =3D DEVICE_BIG_ENDIAN, - .valid =3D { - .min_access_size =3D 1, - .max_access_size =3D 1, - } -}; - -static void nubus_register_format_block(NubusDevice *dev) -{ - char *fblock_name; - - fblock_name =3D g_strdup_printf("nubus-slot-%d-format-block", - dev->slot); - - hwaddr fblock_offset =3D memory_region_size(&dev->slot_mem) - FBLOCK_S= IZE; - memory_region_init_io(&dev->fblock_io, NULL, &nubus_format_block_ops, - dev, fblock_name, FBLOCK_SIZE); - memory_region_add_subregion(&dev->slot_mem, fblock_offset, - &dev->fblock_io); - - g_free(fblock_name); -} - -static void mac_nubus_rom_write(void *opaque, hwaddr addr, uint64_t val, - unsigned int size) -{ - /* read only */ -} - -static uint64_t mac_nubus_rom_read(void *opaque, hwaddr addr, - unsigned int size) -{ - NubusDevice *dev =3D opaque; - - return dev->rom[addr]; -} - -static const MemoryRegionOps mac_nubus_rom_ops =3D { - .read =3D mac_nubus_rom_read, - .write =3D mac_nubus_rom_write, - .endianness =3D DEVICE_BIG_ENDIAN, - .valid =3D { - .min_access_size =3D 1, - .max_access_size =3D 1, - }, -}; - - -void nubus_register_rom(NubusDevice *dev, const uint8_t *rom, uint32_t siz= e, - int revision, int format, uint8_t byte_lanes) -{ - hwaddr rom_offset; - char *rom_name; - - /* FIXME : really compute CRC */ - dev->rom_length =3D 0; - dev->rom_crc =3D 0; - - dev->rom_rev =3D revision; - dev->rom_format =3D format; - - dev->byte_lanes =3D byte_lanes; - dev->directory_offset =3D -size; - - /* ROM */ - - dev->rom =3D rom; - rom_name =3D g_strdup_printf("nubus-slot-%d-rom", dev->slot); - memory_region_init_io(&dev->rom_io, NULL, &mac_nubus_rom_ops, - dev, rom_name, size); - memory_region_set_readonly(&dev->rom_io, true); - - rom_offset =3D memory_region_size(&dev->slot_mem) - FBLOCK_SIZE + - dev->directory_offset; - memory_region_add_subregion(&dev->slot_mem, rom_offset, &dev->rom_io); - - g_free(rom_name); -} - static void nubus_device_realize(DeviceState *dev, Error **errp) { NubusBus *nubus =3D NUBUS_BUS(qdev_get_parent_bus(dev)); @@ -179,8 +38,6 @@ static void nubus_device_realize(DeviceState *dev, Error= **errp) memory_region_add_subregion(&nubus->slot_io, slot_offset, &nd->slot_mem); g_free(name); - - nubus_register_format_block(nd); } =20 static Property nubus_device_properties[] =3D { --=20 2.31.1