qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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 --]

  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).