mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
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>
This commit is contained in:
parent
e7c6a8cf9f
commit
8c6df16ff6
5 changed files with 335 additions and 0 deletions
35
include/hw/char/goldfish_tty.h
Normal file
35
include/hw/char/goldfish_tty.h
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* 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
|
Loading…
Add table
Add a link
Reference in a new issue