diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2023-08-04 20:50:41 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2023-08-04 20:50:41 +0300 |
| commit | e16f5f81dfb2e97a554ec19b941ec05a7942fd2d (patch) | |
| tree | 46f0609b5be009d4d1057fa02ece4461732941e0 /arch/riscv64/kernel/asm.h | |
| parent | 5f30284181fcfe5b16dfb94d4fba9a9ed4a2dc6a (diff) | |
| download | kmi-e16f5f81dfb2e97a554ec19b941ec05a7942fd2d.tar.gz kmi-e16f5f81dfb2e97a554ec19b941ec05a7942fd2d.zip | |
add initial smp bringup
Diffstat (limited to 'arch/riscv64/kernel/asm.h')
| -rw-r--r-- | arch/riscv64/kernel/asm.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/riscv64/kernel/asm.h b/arch/riscv64/kernel/asm.h new file mode 100644 index 0000000..f8ad202 --- /dev/null +++ b/arch/riscv64/kernel/asm.h @@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: copyleft-next-0.3.1 */ +/* Copyright 2023, Kim Kuparinen < kimi.h.kuparinen@gmail.com > */ + +/** + * @file asm.h + * Stuff to make assembly easier to write on both riscv64 and riscv32. + */ + +#if __riscv_xlen == 64 + +/** Store register. */ +#define sr sd + +/** Load register. */ +#define lr ld + +/** Shift count to get a register sized value. */ +#define RW_SHIFT 3 + +#else + +/** Store register. */ +#define sr sw + +/** Load register. */ +#define lr lw + +/** Shift count to get register sized value. */ +#define RW_SHIFT 2 +#endif |
