OpenCores
URL https://opencores.org/ocsvn/neorv32/neorv32/trunk

Subversion Repositories neorv32

[/] [neorv32/] [trunk/] [sw/] [lib/] [source/] [neorv32_cpu.c] - Diff between revs 15 and 16

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 15 Rev 16
Line 240... Line 240...
 
 
/**********************************************************************//**
/**********************************************************************//**
 * Switch from privilege mode MACHINE to privilege mode USER.
 * Switch from privilege mode MACHINE to privilege mode USER.
 *
 *
 * @note This function requires the U extension to be implemented.
 * @note This function requires the U extension to be implemented.
 
 * @note Maybe you should do a fencei after this.
 **************************************************************************/
 **************************************************************************/
void __attribute__((naked)) neorv32_cpu_goto_user_mode(void) {
void __attribute__((naked)) neorv32_cpu_goto_user_mode(void) {
 
 
  register uint32_t mask = (1<<CPU_MSTATUS_MPP_H) | (1<<CPU_MSTATUS_MPP_L);
  register uint32_t mask = (1<<CPU_MSTATUS_MPP_H) | (1<<CPU_MSTATUS_MPP_L);
  mask = ~mask;
  mask = ~mask;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.