qemu/include/hw/char/goldfish_tty.h
Laurent Vivier 8c6df16ff6 hw/char: add goldfish-tty
Implement the goldfish tty device as defined in

https://android.googlesource.com/platform/external/qemu/+/master/docs/GOLDFISH-VIRTUAL-HARDWARE.TXT

and based on the kernel driver code:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/tty/goldfish.c

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210312214145.2936082-2-laurent@vivier.eu>
2021-03-15 21:02:03 +01:00

36 lines
598 B
C

/*
* SPDX-License-Identifer: GPL-2.0-or-later
*
* Goldfish TTY
*
* (c) 2020 Laurent Vivier <laurent@vivier.eu>
*
*/
#ifndef HW_CHAR_GOLDFISH_TTY_H
#define HW_CHAR_GOLDFISH_TTY_H
#include "qemu/fifo8.h"
#include "chardev/char-fe.h"
#define TYPE_GOLDFISH_TTY "goldfish_tty"
OBJECT_DECLARE_SIMPLE_TYPE(GoldfishTTYState, GOLDFISH_TTY)
#define GOLFISH_TTY_BUFFER_SIZE 128
struct GoldfishTTYState {
SysBusDevice parent_obj;
MemoryRegion iomem;
qemu_irq irq;
CharBackend chr;
uint32_t data_len;
uint64_t data_ptr;
bool int_enabled;
Fifo8 rx_fifo;
};
#endif