diff options
author | Mayuresh Chitale <mchitale@ventanamicro.com> | 2023-09-07 17:19:46 +0530 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2023-09-24 17:04:41 +0530 |
commit | e8bc1621c6882766815d2a46f5c2ae88c977bfa4 (patch) | |
tree | 6f63a26a958955a9b51b30136dd942ad9be36e76 /lib/utils/serial/uart8250.c | |
parent | 73aea28264977286f72d2efe615dd1773d94e2cd (diff) | |
download | opensbi-e8bc1621c6882766815d2a46f5c2ae88c977bfa4.zip opensbi-e8bc1621c6882766815d2a46f5c2ae88c977bfa4.tar.gz opensbi-e8bc1621c6882766815d2a46f5c2ae88c977bfa4.tar.bz2 |
lib: utils/serial: Add shared regions for serial drivers
The serial driver regions used by OpenSBI should be marked as a shared
read-write regions between M-mode and SU-mode as those are accessed
by earlycon and the corresponding tty serial drivers running in 'S' mode.
When the smepmp extension is enabled, PMP entries for these shared regions
will get programmed.
Signed-off-by: Mayuresh Chitale <mchitale@ventanamicro.com>
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Diffstat (limited to 'lib/utils/serial/uart8250.c')
-rw-r--r-- | lib/utils/serial/uart8250.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/utils/serial/uart8250.c b/lib/utils/serial/uart8250.c index 99bf1bf..4d158d3 100644 --- a/lib/utils/serial/uart8250.c +++ b/lib/utils/serial/uart8250.c @@ -7,8 +7,10 @@ * Anup Patel <anup.patel@wdc.com> */ +#include <sbi/riscv_asm.h> #include <sbi/riscv_io.h> #include <sbi/sbi_console.h> +#include <sbi/sbi_domain.h> #include <sbi_utils/serial/uart8250.h> /* clang-format off */ @@ -133,5 +135,8 @@ int uart8250_init(unsigned long base, u32 in_freq, u32 baudrate, u32 reg_shift, sbi_console_set_device(&uart8250_console); - return 0; + return sbi_domain_root_add_memrange(base + reg_offset, PAGE_SIZE, + PAGE_SIZE, + (SBI_DOMAIN_MEMREGION_MMIO | + SBI_DOMAIN_MEMREGION_SHARED_SURW_MRW)); } |