mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
include: Add loongarch_pic_common header file
Add common header file hw/intc/loongarch_pic_common.h, and move some macro definition from hw/intc/loongarch_pch_pic.h to the common header file. Signed-off-by: Bibo Mao <maobibo@loongson.cn> Reviewed-by: Song Gao <gaosong@loongson.cn>
This commit is contained in:
parent
8032c78e55
commit
deeca9cb0b
2 changed files with 47 additions and 31 deletions
|
@ -5,42 +5,15 @@
|
|||
* Copyright (c) 2021 Loongson Technology Corporation Limited
|
||||
*/
|
||||
|
||||
#include "hw/sysbus.h"
|
||||
#ifndef HW_LOONGARCH_PCH_PIC_H
|
||||
#define HW_LOONGARCH_PCH_PIC_H
|
||||
|
||||
#include "hw/intc/loongarch_pic_common.h"
|
||||
|
||||
#define TYPE_LOONGARCH_PCH_PIC "loongarch_pch_pic"
|
||||
#define PCH_PIC_NAME(name) TYPE_LOONGARCH_PCH_PIC#name
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(LoongArchPCHPIC, LOONGARCH_PCH_PIC)
|
||||
|
||||
#define PCH_PIC_INT_ID_VAL 0x7000000UL
|
||||
#define PCH_PIC_INT_ID_VER 0x1UL
|
||||
|
||||
#define PCH_PIC_INT_ID_LO 0x00
|
||||
#define PCH_PIC_INT_ID_HI 0x04
|
||||
#define PCH_PIC_INT_MASK_LO 0x20
|
||||
#define PCH_PIC_INT_MASK_HI 0x24
|
||||
#define PCH_PIC_HTMSI_EN_LO 0x40
|
||||
#define PCH_PIC_HTMSI_EN_HI 0x44
|
||||
#define PCH_PIC_INT_EDGE_LO 0x60
|
||||
#define PCH_PIC_INT_EDGE_HI 0x64
|
||||
#define PCH_PIC_INT_CLEAR_LO 0x80
|
||||
#define PCH_PIC_INT_CLEAR_HI 0x84
|
||||
#define PCH_PIC_AUTO_CTRL0_LO 0xc0
|
||||
#define PCH_PIC_AUTO_CTRL0_HI 0xc4
|
||||
#define PCH_PIC_AUTO_CTRL1_LO 0xe0
|
||||
#define PCH_PIC_AUTO_CTRL1_HI 0xe4
|
||||
#define PCH_PIC_ROUTE_ENTRY_OFFSET 0x100
|
||||
#define PCH_PIC_ROUTE_ENTRY_END 0x13f
|
||||
#define PCH_PIC_HTMSI_VEC_OFFSET 0x200
|
||||
#define PCH_PIC_HTMSI_VEC_END 0x23f
|
||||
#define PCH_PIC_INT_STATUS_LO 0x3a0
|
||||
#define PCH_PIC_INT_STATUS_HI 0x3a4
|
||||
#define PCH_PIC_INT_POL_LO 0x3e0
|
||||
#define PCH_PIC_INT_POL_HI 0x3e4
|
||||
|
||||
#define STATUS_LO_START 0
|
||||
#define STATUS_HI_START 0x4
|
||||
#define POL_LO_START 0x40
|
||||
#define POL_HI_START 0x44
|
||||
struct LoongArchPCHPIC {
|
||||
SysBusDevice parent_obj;
|
||||
qemu_irq parent_irq[64];
|
||||
|
@ -67,3 +40,4 @@ struct LoongArchPCHPIC {
|
|||
MemoryRegion iomem8;
|
||||
unsigned int irq_num;
|
||||
};
|
||||
#endif /* HW_LOONGARCH_PCH_PIC_H */
|
||||
|
|
42
include/hw/intc/loongarch_pic_common.h
Normal file
42
include/hw/intc/loongarch_pic_common.h
Normal file
|
@ -0,0 +1,42 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/*
|
||||
* LoongArch 7A1000 I/O interrupt controller definitions
|
||||
* Copyright (c) 2024 Loongson Technology Corporation Limited
|
||||
*/
|
||||
|
||||
#ifndef HW_LOONGARCH_PIC_COMMON_H
|
||||
#define HW_LOONGARCH_PIC_COMMON_H
|
||||
|
||||
#include "hw/pci-host/ls7a.h"
|
||||
#include "hw/sysbus.h"
|
||||
|
||||
#define PCH_PIC_INT_ID_VAL 0x7000000UL
|
||||
#define PCH_PIC_INT_ID_VER 0x1UL
|
||||
#define PCH_PIC_INT_ID_LO 0x00
|
||||
#define PCH_PIC_INT_ID_HI 0x04
|
||||
#define PCH_PIC_INT_MASK_LO 0x20
|
||||
#define PCH_PIC_INT_MASK_HI 0x24
|
||||
#define PCH_PIC_HTMSI_EN_LO 0x40
|
||||
#define PCH_PIC_HTMSI_EN_HI 0x44
|
||||
#define PCH_PIC_INT_EDGE_LO 0x60
|
||||
#define PCH_PIC_INT_EDGE_HI 0x64
|
||||
#define PCH_PIC_INT_CLEAR_LO 0x80
|
||||
#define PCH_PIC_INT_CLEAR_HI 0x84
|
||||
#define PCH_PIC_AUTO_CTRL0_LO 0xc0
|
||||
#define PCH_PIC_AUTO_CTRL0_HI 0xc4
|
||||
#define PCH_PIC_AUTO_CTRL1_LO 0xe0
|
||||
#define PCH_PIC_AUTO_CTRL1_HI 0xe4
|
||||
#define PCH_PIC_ROUTE_ENTRY_OFFSET 0x100
|
||||
#define PCH_PIC_ROUTE_ENTRY_END 0x13f
|
||||
#define PCH_PIC_HTMSI_VEC_OFFSET 0x200
|
||||
#define PCH_PIC_HTMSI_VEC_END 0x23f
|
||||
#define PCH_PIC_INT_STATUS_LO 0x3a0
|
||||
#define PCH_PIC_INT_STATUS_HI 0x3a4
|
||||
#define PCH_PIC_INT_POL_LO 0x3e0
|
||||
#define PCH_PIC_INT_POL_HI 0x3e4
|
||||
|
||||
#define STATUS_LO_START 0
|
||||
#define STATUS_HI_START 0x4
|
||||
#define POL_LO_START 0x40
|
||||
#define POL_HI_START 0x44
|
||||
#endif /* HW_LOONGARCH_PIC_COMMON_H */
|
Loading…
Add table
Add a link
Reference in a new issue