#
3fee028d |
| 18-Apr-2017 |
Tim 'mithro' Ansell <mithro@mithis.com> |
target/openrisc: Implement EPH bit
Exception Prefix High (EPH) control bit of the Supervision Register (SR).
The significant bits (31-12) of the vector offset address for each exception depend on t
target/openrisc: Implement EPH bit
Exception Prefix High (EPH) control bit of the Supervision Register (SR).
The significant bits (31-12) of the vector offset address for each exception depend on the setting of the Supervision Register (SR)'s EPH bit and the Exception Vector Base Address Register (EVBAR).
If SR[EPH] is set, the vector offset is logically ORed with the offset 0xF0000000.
This means if EPH is; * 0 - Exceptions vectors start at EVBAR * 1 - Exception vectors start at EVBAR | 0xF0000000
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com> Signed-off-by: Stafford Horne <shorne@gmail.com>
show more ...
|
#
356a2db3 |
| 18-Apr-2017 |
Tim 'mithro' Ansell <mithro@mithis.com> |
target/openrisc: Implement EVBAR register
Exception Vector Base Address Register (EVBAR) - This optional register can be used to apply an offset to the exception vector addresses.
The significant b
target/openrisc: Implement EVBAR register
Exception Vector Base Address Register (EVBAR) - This optional register can be used to apply an offset to the exception vector addresses.
The significant bits (31-12) of the vector offset address for each exception depend on the setting of the Supervision Register (SR)'s EPH bit and the Exception Vector Base Address Register (EVBAR).
Its presence is indicated by the EVBARP bit in the CPU Configuration Register (CPUCFGR).
Signed-off-by: Tim 'mithro' Ansell <mithro@mithis.com> Signed-off-by: Stafford Horne <shorne@gmail.com>
show more ...
|
#
a01deb36 |
| 06-Apr-2016 |
Richard Henderson <rth@twiddle.net> |
target/openrisc: Tidy handling of delayed branches
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
#
84775c43 |
| 18-Feb-2015 |
Richard Henderson <rth@twiddle.net> |
target/openrisc: Keep SR_F in a separate variable
This avoids having to keep merging and extracting the flag from SR.
Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Signed-off-by:
target/openrisc: Keep SR_F in a separate variable
This avoids having to keep merging and extracting the flag from SR.
Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Signed-off-by: Richard Henderson <rth@twiddle.net>
show more ...
|
#
930c3d00 |
| 19-Feb-2015 |
Richard Henderson <rth@twiddle.net> |
target/openrisc: Implement lwa, swa
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
#
c56e3b86 |
| 13-Jan-2017 |
Stafford Horne <shorne@gmail.com> |
target/openrisc: Fix exception handling status registers
I am working on testing instruction emulation patches for the linux kernel. During testing I found these 2 issues:
- sets DSX (delay slot e
target/openrisc: Fix exception handling status registers
I am working on testing instruction emulation patches for the linux kernel. During testing I found these 2 issues:
- sets DSX (delay slot exception) but never clears it - EEAR for illegal insns should point to the bad exception (as per openrisc spec) but its not
This patch fixes these two issues by clearing the DSX flag when not in a delay slot and by setting EEAR to exception PC when handling illegal instruction exceptions.
After this patch the openrisc kernel with latest patches boots great on qemu and instruction emulation works.
Cc: qemu-trivial@nongnu.org Cc: openrisc@lists.librecores.org Signed-off-by: Stafford Horne <shorne@gmail.com> Message-Id: <20170113220028.29687-1-shorne@gmail.com> Signed-off-by: Richard Henderson <rth@twiddle.net>
show more ...
|
#
d10eb08f |
| 14-Nov-2016 |
Alex Bennée <alex.bennee@linaro.org> |
cputlb: drop flush_global flag from tlb_flush
We have never has the concept of global TLB entries which would avoid the flush so we never actually use this flag. Drop it and make clear that tlb_flus
cputlb: drop flush_global flag from tlb_flush
We have never has the concept of global TLB entries which would avoid the flush so we never actually use this flag. Drop it and make clear that tlb_flush is the sledge-hammer it has always been.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> [DG: ppc portions] Acked-by: David Gibson <david@gibson.dropbear.id.au>
show more ...
|
#
fcf5ef2a |
| 11-Oct-2016 |
Thomas Huth <thuth@redhat.com> |
Move target-* CPU file into a target/ folder
We've currently got 18 architectures in QEMU, and thus 18 target-xxx folders in the root folder of the QEMU source tree. More architectures (e.g. RISC-V,
Move target-* CPU file into a target/ folder
We've currently got 18 architectures in QEMU, and thus 18 target-xxx folders in the root folder of the QEMU source tree. More architectures (e.g. RISC-V, AVR) are likely to be included soon, too, so the main folder of the QEMU sources slowly gets quite overcrowded with the target-xxx folders. To disburden the main folder a little bit, let's move the target-xxx folders into a dedicated target/ folder, so that target-xxx/ simply becomes target/xxx/ instead.
Acked-by: Laurent Vivier <laurent@vivier.eu> [m68k part] Acked-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> [tricore part] Acked-by: Michael Walle <michael@walle.cc> [lm32 part] Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> [s390x part] Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> [s390x part] Acked-by: Eduardo Habkost <ehabkost@redhat.com> [i386 part] Acked-by: Artyom Tarasenko <atar4qemu@gmail.com> [sparc part] Acked-by: Richard Henderson <rth@twiddle.net> [alpha part] Acked-by: Max Filippov <jcmvbkbc@gmail.com> [xtensa part] Reviewed-by: David Gibson <david@gibson.dropbear.id.au> [ppc part] Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> [crisµblaze part] Acked-by: Guan Xuetao <gxt@mprc.pku.edu.cn> [unicore32 part] Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
#
82ecffa8 |
| 20-Dec-2016 |
Stefan Hajnoczi <stefanha@redhat.com> |
Open 2.9 development tree
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
|