9os

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 05136086b8ab20eea80da672565a335c31a250fc
parent cd323a673a99270ad88f44cab30710e235248190
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Sun, 27 Sep 2020 10:14:53 +0200

os9/arm64: Change name of rsysreg and wsysreg

These names were not a good option and sysrd and syswr are
much better options.

Change-Id: I3de71769c57b8ba9e6fc0566765fc8ead0124935

Diffstat:
Msrc/os9/arch/arm64/arch.h | 4++--
Msrc/os9/arch/arm64/cache.c | 6+++---
Msrc/os9/arch/arm64/main.c | 24++++++++++++------------
Msrc/os9/arch/arm64/mksysreg | 8++++----
4 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/src/os9/arch/arm64/arch.h b/src/os9/arch/arm64/arch.h @@ -89,8 +89,8 @@ struct mach { }; extern void main(Mach *); -extern void wsysreg(enum sysreg, unsigned long long); -extern unsigned long long rsysreg(enum sysreg); +extern void syswr(enum sysreg, unsigned long long); +extern unsigned long long sysrd(enum sysreg); extern void barrier(int); extern void invdcachesetway(void *); extern void invdcache(void); diff --git a/src/os9/arch/arm64/cache.c b/src/os9/arch/arm64/cache.c @@ -38,10 +38,10 @@ invdcachelvl(unsigned l) unsigned long long ccsidr; unsigned nsets, nways, size, shift, i, j; - wsysreg(CSSELR_EL1, l << LEVEL_SHIFT); + syswr(CSSELR_EL1, l << LEVEL_SHIFT); barrier(ISB); - ccsidr = rsysreg(CCSIDR_EL1); + ccsidr = sysrd(CCSIDR_EL1); nsets = ((ccsidr >> NSETS_SHIFT) & NSETS_MASK) + 1; nways = ((ccsidr >> NWAYS_SHIFT) & NWAYS_MASK) + 1; size = (ccsidr & LINE_MASK) + 4; @@ -73,7 +73,7 @@ invdcache(void) barrier(DSB_SY); - clidr = rsysreg(CLIDR_EL1); + clidr = sysrd(CLIDR_EL1); if (((clidr >> LOC_SHIFT) & LOC_MASK) == 0) return; diff --git a/src/os9/arch/arm64/main.c b/src/os9/arch/arm64/main.c @@ -47,7 +47,7 @@ alloc(size_t size) return bp; } -static uint64_t +static unsigned long long firstmap(Mach *m) { pte_t *bp; @@ -68,16 +68,16 @@ static void imach(Mach *m) { extern void *vectbl; - uint64_t tcr, sctlr, ttbr; + unsigned long long tcr, sctlr, ttbr; - wsysreg(VBAR_EL1, (phyaddr_t) vectbl); + syswr(VBAR_EL1, (phyaddr_t) vectbl); barrier(ISB); invtlb(); invicache(); invdcache(); - sctlr = rsysreg(SCTLR_EL1); + sctlr = sysrd(SCTLR_EL1); tcr = IPS4GB | TG1(G64K) | TG0(G64K) | @@ -88,20 +88,20 @@ imach(Mach *m) ttbr = firstmap(m); sctlr |= C | I; - wsysreg(SCTLR_EL1, sctlr); - wsysreg(MAIR_EL1, 0xFF); - wsysreg(TTBR0_EL1, ttbr); - wsysreg(TCR_EL1, tcr); + syswr(SCTLR_EL1, sctlr); + syswr(MAIR_EL1, 0xFF); + syswr(TTBR0_EL1, ttbr); + syswr(TCR_EL1, tcr); barrier(DSB_SY); barrier(ISB); sctlr |= M; - wsysreg(SCTLR_EL1, sctlr); + syswr(SCTLR_EL1, sctlr); barrier(ISB); - wsysreg(CPACR_EL1, 3<<20); - wsysreg(FPCR, 0); - wsysreg(FPSR, 0); + syswr(CPACR_EL1, 3<<20); + syswr(FPCR, 0); + syswr(FPSR, 0); barrier(ISB); } diff --git a/src/os9/arch/arm64/mksysreg b/src/os9/arch/arm64/mksysreg @@ -19,8 +19,8 @@ do .FILE "sysreg.s" .TEXT - .GLOBL rsysreg,wsysreg -rsysreg: + .GLOBL sysrd +sysrd: ADR X1,1f LSL X0,X0,#3 ADD X1,X1,X0 @@ -28,8 +28,8 @@ rsysreg: 1: $(awk 'NF == 2 {printf "\tMRS\tX0,%s\n\tret\n\n", $2}' $@) - -wsysreg: + .GLOBL syswr +syswr: ADR X2,1f LSL X0,X0,#3 ADD X2,X2,X0