mirror of
https://github.com/qemu/qemu.git
synced 2025-08-08 08:05:17 +00:00
target/s390x: move psw_key_valid() to mem_helper.c
Only used in that file. Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-12-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
parent
12e1e8f1aa
commit
c07a100966
@ -366,17 +366,6 @@ void s390x_cpu_debug_excp_handler(CPUState *cs);
|
|||||||
#define MMU_SECONDARY_IDX 1
|
#define MMU_SECONDARY_IDX 1
|
||||||
#define MMU_HOME_IDX 2
|
#define MMU_HOME_IDX 2
|
||||||
|
|
||||||
static inline bool psw_key_valid(CPUS390XState *env, uint8_t psw_key)
|
|
||||||
{
|
|
||||||
uint16_t pkm = env->cregs[3] >> 16;
|
|
||||||
|
|
||||||
if (env->psw.mask & PSW_MASK_PSTATE) {
|
|
||||||
/* PSW key has range 0..15, it is valid if the bit is 1 in the PKM */
|
|
||||||
return pkm & (0x80 >> psw_key);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int cpu_mmu_index(CPUS390XState *env, bool ifetch)
|
static inline int cpu_mmu_index(CPUS390XState *env, bool ifetch)
|
||||||
{
|
{
|
||||||
switch (env->psw.mask & PSW_MASK_ASC) {
|
switch (env->psw.mask & PSW_MASK_ASC) {
|
||||||
|
@ -56,6 +56,17 @@ void tlb_fill(CPUState *cs, target_ulong addr, MMUAccessType access_type,
|
|||||||
#define HELPER_LOG(x...)
|
#define HELPER_LOG(x...)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static inline bool psw_key_valid(CPUS390XState *env, uint8_t psw_key)
|
||||||
|
{
|
||||||
|
uint16_t pkm = env->cregs[3] >> 16;
|
||||||
|
|
||||||
|
if (env->psw.mask & PSW_MASK_PSTATE) {
|
||||||
|
/* PSW key has range 0..15, it is valid if the bit is 1 in the PKM */
|
||||||
|
return pkm & (0x80 >> psw_key);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/* Reduce the length so that addr + len doesn't cross a page boundary. */
|
/* Reduce the length so that addr + len doesn't cross a page boundary. */
|
||||||
static inline uint32_t adj_len_to_page(uint32_t len, uint64_t addr)
|
static inline uint32_t adj_len_to_page(uint32_t len, uint64_t addr)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user