1
0
Fork 0

ARM: get rid of horrible *(unsigned int *)(regs + 1)

Get rid of the horrible "*(unsigned int *)(regs + 1)" to get at the
parent context domain access register value, instead using the newly
introduced svc_pt_regs structure.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
hifive-unleashed-5.1
Russell King 2016-05-13 10:26:10 +01:00
parent e6a9dc6129
commit 5fa9da5043
2 changed files with 3 additions and 1 deletions

View File

@ -25,6 +25,8 @@ struct svc_pt_regs {
u32 unused;
};
#define to_svc_pt_regs(r) container_of(r, struct svc_pt_regs, regs)
#define user_mode(regs) \
(((regs)->ARM_cpsr & 0xf) == 0)

View File

@ -106,7 +106,7 @@ void __show_regs(struct pt_regs *regs)
if (user_mode(regs))
domain = DACR_UACCESS_ENABLE;
else
domain = *(unsigned int *)(regs + 1);
domain = to_svc_pt_regs(regs)->dacr;
#else
domain = get_domain();
#endif