From: David Gibson <david@gibson.dropbear.id.au>
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: qemu-devel@nongnu.org, qemu-ppc@nongnu.org, lvivier@redhat.com
Subject: Re: [Qemu-devel] [PATCHv2 11/12] ppc: move CUDAState and other CUDA-related definitions into separate cuda.h file
Date: Mon, 12 Feb 2018 18:59:53 +1100 [thread overview]
Message-ID: <20180212075953.GG11634@umbus.fritz.box> (raw)
In-Reply-To: <20180209185142.17151-12-mark.cave-ayland@ilande.co.uk>
[-- Attachment #1: Type: text/plain, Size: 8545 bytes --]
On Fri, Feb 09, 2018 at 06:51:41PM +0000, Mark Cave-Ayland wrote:
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Applied, thanks.
> ---
> hw/misc/macio/cuda.c | 1 +
> hw/misc/macio/macio.c | 1 +
> hw/ppc/mac.h | 77 -------------------------------
> include/hw/misc/macio/cuda.h | 107 +++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 109 insertions(+), 77 deletions(-)
> create mode 100644 include/hw/misc/macio/cuda.h
>
> diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c
> index 54c02aeffb..377b91d266 100644
> --- a/hw/misc/macio/cuda.c
> +++ b/hw/misc/macio/cuda.c
> @@ -27,6 +27,7 @@
> #include "hw/ppc/mac.h"
> #include "hw/input/adb.h"
> #include "hw/misc/mos6522.h"
> +#include "hw/misc/macio/cuda.h"
> #include "qemu/timer.h"
> #include "sysemu/sysemu.h"
> #include "qemu/cutils.h"
> diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
> index a639b09e00..024f8557ab 100644
> --- a/hw/misc/macio/macio.c
> +++ b/hw/misc/macio/macio.c
> @@ -26,6 +26,7 @@
> #include "qapi/error.h"
> #include "hw/hw.h"
> #include "hw/ppc/mac.h"
> +#include "hw/misc/macio/cuda.h"
> #include "hw/pci/pci.h"
> #include "hw/ppc/mac_dbdma.h"
> #include "hw/char/escc.h"
> diff --git a/hw/ppc/mac.h b/hw/ppc/mac.h
> index 3e9f13d9b4..4702194f3f 100644
> --- a/hw/ppc/mac.h
> +++ b/hw/ppc/mac.h
> @@ -45,83 +45,6 @@
>
> #define ESCC_CLOCK 3686400
>
> -/* CUDA commands (2nd byte) */
> -#define CUDA_WARM_START 0x0
> -#define CUDA_AUTOPOLL 0x1
> -#define CUDA_GET_6805_ADDR 0x2
> -#define CUDA_GET_TIME 0x3
> -#define CUDA_GET_PRAM 0x7
> -#define CUDA_SET_6805_ADDR 0x8
> -#define CUDA_SET_TIME 0x9
> -#define CUDA_POWERDOWN 0xa
> -#define CUDA_POWERUP_TIME 0xb
> -#define CUDA_SET_PRAM 0xc
> -#define CUDA_MS_RESET 0xd
> -#define CUDA_SEND_DFAC 0xe
> -#define CUDA_BATTERY_SWAP_SENSE 0x10
> -#define CUDA_RESET_SYSTEM 0x11
> -#define CUDA_SET_IPL 0x12
> -#define CUDA_FILE_SERVER_FLAG 0x13
> -#define CUDA_SET_AUTO_RATE 0x14
> -#define CUDA_GET_AUTO_RATE 0x16
> -#define CUDA_SET_DEVICE_LIST 0x19
> -#define CUDA_GET_DEVICE_LIST 0x1a
> -#define CUDA_SET_ONE_SECOND_MODE 0x1b
> -#define CUDA_SET_POWER_MESSAGES 0x21
> -#define CUDA_GET_SET_IIC 0x22
> -#define CUDA_WAKEUP 0x23
> -#define CUDA_TIMER_TICKLE 0x24
> -#define CUDA_COMBINED_FORMAT_IIC 0x25
> -
> -/* Cuda */
> -#define TYPE_CUDA "cuda"
> -#define CUDA(obj) OBJECT_CHECK(CUDAState, (obj), TYPE_CUDA)
> -
> -typedef struct MOS6522CUDAState MOS6522CUDAState;
> -
> -typedef struct CUDAState {
> - /*< private >*/
> - SysBusDevice parent_obj;
> - /*< public >*/
> - MemoryRegion mem;
> -
> - ADBBusState adb_bus;
> - MOS6522CUDAState *mos6522_cuda;
> -
> - uint32_t tick_offset;
> - uint64_t tb_frequency;
> -
> - uint8_t last_b;
> - uint8_t last_acr;
> -
> - /* MacOS 9 is racy and requires a delay upon setting the SR_INT bit */
> - uint64_t sr_delay_ns;
> - QEMUTimer *sr_delay_timer;
> -
> - int data_in_size;
> - int data_in_index;
> - int data_out_index;
> -
> - qemu_irq irq;
> - uint16_t adb_poll_mask;
> - uint8_t autopoll_rate_ms;
> - uint8_t autopoll;
> - uint8_t data_in[128];
> - uint8_t data_out[16];
> - QEMUTimer *adb_poll_timer;
> -} CUDAState;
> -
> -/* MOS6522 CUDA */
> -typedef struct MOS6522CUDAState {
> - /*< private >*/
> - MOS6522State parent_obj;
> -
> - CUDAState *cuda;
> -} MOS6522CUDAState;
> -
> -#define TYPE_MOS6522_CUDA "mos6522-cuda"
> -#define MOS6522_CUDA(obj) OBJECT_CHECK(MOS6522CUDAState, (obj), \
> - TYPE_MOS6522_CUDA)
>
> /* MacIO */
> #define TYPE_OLDWORLD_MACIO "macio-oldworld"
> diff --git a/include/hw/misc/macio/cuda.h b/include/hw/misc/macio/cuda.h
> new file mode 100644
> index 0000000000..6afbdd13ee
> --- /dev/null
> +++ b/include/hw/misc/macio/cuda.h
> @@ -0,0 +1,107 @@
> +/*
> + * QEMU PowerMac CUDA device support
> + *
> + * Copyright (c) 2004-2007 Fabrice Bellard
> + * Copyright (c) 2007 Jocelyn Mayer
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to deal
> + * in the Software without restriction, including without limitation the rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> + * THE SOFTWARE.
> + */
> +
> +#ifndef CUDA_H
> +#define CUDA_H
> +
> +/* CUDA commands (2nd byte) */
> +#define CUDA_WARM_START 0x0
> +#define CUDA_AUTOPOLL 0x1
> +#define CUDA_GET_6805_ADDR 0x2
> +#define CUDA_GET_TIME 0x3
> +#define CUDA_GET_PRAM 0x7
> +#define CUDA_SET_6805_ADDR 0x8
> +#define CUDA_SET_TIME 0x9
> +#define CUDA_POWERDOWN 0xa
> +#define CUDA_POWERUP_TIME 0xb
> +#define CUDA_SET_PRAM 0xc
> +#define CUDA_MS_RESET 0xd
> +#define CUDA_SEND_DFAC 0xe
> +#define CUDA_BATTERY_SWAP_SENSE 0x10
> +#define CUDA_RESET_SYSTEM 0x11
> +#define CUDA_SET_IPL 0x12
> +#define CUDA_FILE_SERVER_FLAG 0x13
> +#define CUDA_SET_AUTO_RATE 0x14
> +#define CUDA_GET_AUTO_RATE 0x16
> +#define CUDA_SET_DEVICE_LIST 0x19
> +#define CUDA_GET_DEVICE_LIST 0x1a
> +#define CUDA_SET_ONE_SECOND_MODE 0x1b
> +#define CUDA_SET_POWER_MESSAGES 0x21
> +#define CUDA_GET_SET_IIC 0x22
> +#define CUDA_WAKEUP 0x23
> +#define CUDA_TIMER_TICKLE 0x24
> +#define CUDA_COMBINED_FORMAT_IIC 0x25
> +
> +/* Cuda */
> +#define TYPE_CUDA "cuda"
> +#define CUDA(obj) OBJECT_CHECK(CUDAState, (obj), TYPE_CUDA)
> +
> +typedef struct MOS6522CUDAState MOS6522CUDAState;
> +
> +typedef struct CUDAState {
> + /*< private >*/
> + SysBusDevice parent_obj;
> + /*< public >*/
> + MemoryRegion mem;
> +
> + ADBBusState adb_bus;
> + MOS6522CUDAState *mos6522_cuda;
> +
> + uint32_t tick_offset;
> + uint64_t tb_frequency;
> +
> + uint8_t last_b;
> + uint8_t last_acr;
> +
> + /* MacOS 9 is racy and requires a delay upon setting the SR_INT bit */
> + uint64_t sr_delay_ns;
> + QEMUTimer *sr_delay_timer;
> +
> + int data_in_size;
> + int data_in_index;
> + int data_out_index;
> +
> + qemu_irq irq;
> + uint16_t adb_poll_mask;
> + uint8_t autopoll_rate_ms;
> + uint8_t autopoll;
> + uint8_t data_in[128];
> + uint8_t data_out[16];
> + QEMUTimer *adb_poll_timer;
> +} CUDAState;
> +
> +/* MOS6522 CUDA */
> +typedef struct MOS6522CUDAState {
> + /*< private >*/
> + MOS6522State parent_obj;
> +
> + CUDAState *cuda;
> +} MOS6522CUDAState;
> +
> +#define TYPE_MOS6522_CUDA "mos6522-cuda"
> +#define MOS6522_CUDA(obj) OBJECT_CHECK(MOS6522CUDAState, (obj), \
> + TYPE_MOS6522_CUDA)
> +
> +#endif /* CUDA_H */
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2018-02-12 9:25 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-09 18:51 [Qemu-devel] [PATCHv2 00/12] cuda: various fixes, tidy-ups, and move 6522 to separate device Mark Cave-Ayland
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 01/12] cuda: do not use old_mmio accesses Mark Cave-Ayland
2018-02-09 20:05 ` Philippe Mathieu-Daudé
2018-02-10 7:18 ` David Gibson
2018-02-10 7:22 ` David Gibson
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 02/12] cuda: don't allow writes to port output pins Mark Cave-Ayland
2018-02-10 7:23 ` David Gibson
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 03/12] cuda: don't call cuda_update() when writing to ACR register Mark Cave-Ayland
2018-02-10 22:35 ` David Gibson
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 04/12] cuda: introduce CUDAState parameter to get_counter() Mark Cave-Ayland
2018-02-10 22:31 ` David Gibson
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 05/12] cuda: rename frequency property to tb_frequency Mark Cave-Ayland
2018-02-10 22:32 ` David Gibson
2018-02-10 23:11 ` David Gibson
2018-02-11 10:59 ` Mark Cave-Ayland
2018-02-11 11:22 ` David Gibson
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 06/12] cuda: minor cosmetic tidy-ups to get_next_irq_time() Mark Cave-Ayland
2018-02-10 22:33 ` David Gibson
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 07/12] cuda: set timer 1 frequency property to CUDA_TIMER_FREQ Mark Cave-Ayland
2018-02-10 23:15 ` David Gibson
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 08/12] cuda: factor out timebase-derived counter value and load time Mark Cave-Ayland
2018-02-10 23:18 ` David Gibson
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 09/12] misc: introduce new mos6522 VIA device and enable it for ppc builds Mark Cave-Ayland
2018-02-10 23:20 ` David Gibson
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 10/12] cuda: convert to use the shared mos6522 device Mark Cave-Ayland
2018-02-12 7:49 ` David Gibson
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 11/12] ppc: move CUDAState and other CUDA-related definitions into separate cuda.h file Mark Cave-Ayland
2018-02-09 19:58 ` Philippe Mathieu-Daudé
2018-02-12 7:59 ` David Gibson [this message]
2018-02-09 18:51 ` [Qemu-devel] [PATCHv2 12/12] cuda: convert to trace-events Mark Cave-Ayland
2018-02-09 19:56 ` Philippe Mathieu-Daudé
2018-02-12 9:25 ` David Gibson
2018-02-09 19:12 ` [Qemu-devel] [PATCHv2 00/12] cuda: various fixes, tidy-ups, and move 6522 to separate device no-reply
2018-02-09 19:15 ` Mark Cave-Ayland
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180212075953.GG11634@umbus.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=lvivier@redhat.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).