From: Yongbok Kim <yongbok.kim@imgtec.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, james.hogan@imgtec.com,
crosthwaitepeter@gmail.com, pbonzini@redhat.com,
leon.alrae@imgtec.com, aurelien@aurel32.net
Subject: [Qemu-devel] [PATCH for-2.5 v2 0/4] mips: add Global Interrupt Controller
Date: Tue, 27 Oct 2015 17:12:33 +0000 [thread overview]
Message-ID: <1445965957-37888-1-git-send-email-yongbok.kim@imgtec.com> (raw)
This patchset implement MIPS Global Interrupt Controller.
In order to bring GIC up a part of GCR has been implemented as well.
The Global Interrupt Controller (GIC) is responsible for mapping each
internal and external interrupt to the correct location for servicing.
With the patchset Linux Kernel detects GIC and utilises it.
# cat /proc/interrupts
CPU0
0: 2 XT-PIC 0 timer
2: 0 XT-PIC 2 cascade
4: 264 XT-PIC 4 serial
8: 0 XT-PIC 8 rtc0
14: 956 XT-PIC 14 ata_piix
15: 5 XT-PIC 15 ata_piix
21: 0 MIPS 5 CoreHi
23: 1 MIPS 7 timer
25: 5209 MIPS GIC Local 1 timer
34: 1227 MIPS GIC 10 XT-PIC cascade
ERR: 0
Limitation:
Level triggering only
GIC CounterHi not implemented (Countbits = 32bits)
DINT not implemented
Local WatchDog, Fast Debug Channel, Perf Counter not implemented
It is based on the earlier un-merged GIC implementation.
https://lists.gnu.org/archive/html/qemu-devel/2013-03/msg00194.html
For more information,
http://imgtec.com/mips/warrior/p-class-p5600-multiprocessor-core/
http://imgtec.com/mips/warrior/i-class-i6400-multiprocessor-core/
v2:
* added user mode section (James)
* moved mips_gic.c into hw/intc, mips_gcr.c into hw/misc (PeterM, PeterC)
* renamed obvious duplications (Leon)
* renamed gic_irqs into irq_state (Leon)
* removed pointer to gic IRQs from env (Leon)
* fixed loading target_ulong CMGCRBase (Leon)
* removed unimplemented registers (Leon)
* fixed writing to wedge register (Leon)
* removed magic numbers
* update usage of map_vp to indicate not mapped
* cosmetic changes and other review comments
Yongbok Kim (4):
target-mips: add CMGCRBase register
mips: add Global Config Register block (part)
mips: add Global Interrupt Controller
mips: add gic support to malta
default-configs/mips-softmmu.mak | 1 +
default-configs/mips64-softmmu.mak | 1 +
default-configs/mips64el-softmmu.mak | 1 +
default-configs/mipsel-softmmu.mak | 1 +
hw/intc/Makefile.objs | 1 +
hw/intc/mips_gic.c | 530 ++++++++++++++++++++++++++++++++++
hw/mips/mips_malta.c | 73 +++++-
hw/misc/Makefile.objs | 1 +
hw/misc/mips_gcr.c | 113 +++++++
include/hw/intc/mips_gic.h | 269 +++++++++++++++++
include/hw/misc/mips_gcr.h | 58 ++++
target-mips/cpu.h | 3 +-
target-mips/translate.c | 18 ++
target-mips/translate_init.c | 3 +-
14 files changed, 1069 insertions(+), 4 deletions(-)
create mode 100644 hw/intc/mips_gic.c
create mode 100644 hw/misc/mips_gcr.c
create mode 100644 include/hw/intc/mips_gic.h
create mode 100644 include/hw/misc/mips_gcr.h
next reply other threads:[~2015-10-27 17:19 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-27 17:12 Yongbok Kim [this message]
2015-10-27 17:12 ` [Qemu-devel] [PATCH for-2.5 v2 1/4] target-mips: add CMGCRBase register Yongbok Kim
2015-10-30 0:02 ` James Hogan
2015-10-27 17:12 ` [Qemu-devel] [PATCH for-2.5 v2 2/4] mips: add Global Config Register block (part) Yongbok Kim
2015-10-30 0:36 ` James Hogan
2015-10-30 11:40 ` James Hogan
2015-10-30 12:06 ` Peter Maydell
2016-03-15 10:17 ` Leon Alrae
2015-10-27 17:12 ` [Qemu-devel] [PATCH for-2.5 v2 3/4] mips: add Global Interrupt Controller Yongbok Kim
2015-10-29 16:10 ` Leon Alrae
2015-10-30 16:43 ` James Hogan
2015-10-27 17:12 ` [Qemu-devel] [PATCH for-2.5 v2 4/4] mips: add gic support to malta Yongbok Kim
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=1445965957-37888-1-git-send-email-yongbok.kim@imgtec.com \
--to=yongbok.kim@imgtec.com \
--cc=aurelien@aurel32.net \
--cc=crosthwaitepeter@gmail.com \
--cc=james.hogan@imgtec.com \
--cc=leon.alrae@imgtec.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.