source: rtems/c/src/lib/libbsp/sparc/shared/cpu.c @ bc40b4d

5
Last change on this file since bc40b4d was 8df1f408, checked in by Christian Mauderer <Christian.Mauderer@…>, on 06/02/14 at 14:31:51

score/sparc: Add support for paravirtualization

Guest systems in paravirtualization environments run usually in user
mode. Thus it is not possible to directly access the PSR and TBR
registers. Use functions instead of inline assembler to access these
registers if RTEMS_PARAVIRT is defined.

  • Property mode set to 100644
File size: 1.1 KB
Line 
1/**
2 *  @file
3 *
4 *  @brief SPARC CPU Dependent Source
5 */
6
7/*
8 *  COPYRIGHT (c) 1989-2007.
9 *  On-Line Applications Research Corporation (OAR).
10 *
11 *  The license and distribution terms for this file may be
12 *  found in the file LICENSE in this distribution or at
13 *  http://www.rtems.org/license/LICENSE.
14 */
15
16#include <rtems/score/cpu.h>
17
18/*
19 *  This initializes the set of opcodes placed in each trap
20 *  table entry.  The routine which installs a handler is responsible
21 *  for filling in the fields for the _handler address and the _vector
22 *  trap type.
23 *
24 *  The constants following this structure are masks for the fields which
25 *  must be filled in when the handler is installed.
26 *
27 *  This table is defined here to allow BSP specific versions, e.g. for guest
28 *  systems under paravirtualization.
29 */
30
31const CPU_Trap_table_entry _CPU_Trap_slot_template = {
32  0xa1480000,      /* mov   %psr, %l0           */
33  0x29000000,      /* sethi %hi(_handler), %l4  */
34  0x81c52000,      /* jmp   %l4 + %lo(_handler) */
35  0xa6102000       /* mov   _vector, %l3        */
36};
Note: See TracBrowser for help on using the repository browser.