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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rc203soc/] [sw/] [uClinux/] [arch/] [ppc/] [kernel/] [ppc_asm.tmpl] - Rev 1777

Go to most recent revision | Compare with Previous | Blame | View Log

/*
 * This file contains all the macros and symbols which define
 * a PowerPC assembly language environment.
 */

#define _TEXT()\
        .text

#if 0 /* Old way */     
#define _EXTERN(n) .##n 

#define _GLOBAL(n)\
        .globl n;\
n:      .long   _EXTERN(n);\
        .globl _EXTERN(n);\
_EXTERN(n):
#else
#define _EXTERN(n) n    

#define _GLOBAL(n)\
        .globl n;\
n:
#endif

#ifndef FALSE
#define FALSE   0
#define TRUE    1
#endif
        
#define _ORG(n)\
        .org    n

/* Register names */
#define r0      0
#define r1      1
#define r2      2
#define r3      3
#define r4      4
#define r5      5
#define r6      6
#define r7      7
#define r8      8
#define r9      9
#define r10     10
#define r11     11
#define r12     12
#define r13     13
#define r14     14
#define r15     15
#define r16     16
#define r17     17
#define r18     18
#define r19     19
#define r20     20
#define r21     21
#define r22     22
#define r23     23
#define r24     24
#define r25     25
#define r26     26
#define r27     27
#define r28     28
#define r29     29
#define r30     30
#define r31     31

#define fr0     0
#define fr1     1
#define fr2     2
#define fr3     3
#define fr4     4
#define fr5     5
#define fr6     6
#define fr7     7
#define fr8     8
#define fr9     9
#define fr10    10
#define fr11    11
#define fr12    12
#define fr13    13
#define fr14    14
#define fr15    15
#define fr16    16
#define fr17    17
#define fr18    18
#define fr19    19
#define fr20    20
#define fr21    21
#define fr22    22
#define fr23    23
#define fr24    24
#define fr25    25
#define fr26    26
#define fr27    27
#define fr28    28
#define fr29    29
#define fr30    30
#define fr31    31

/* Some special registers */

#define TBRU    269     /* Time base Upper/Lower (Reading) */
#define TBRL    268
#define TBWU    284     /* Time base Upper/Lower (Writing) */
#define TBWL    285
#define XER     1
#define LR      8
#define CTR     9
#define HID0    1008    /* Hardware Implementation */
#define PVR     287     /* Processor Version */
#define IBAT0U  528     /* Instruction BAT #0 Upper/Lower */
#define IBAT0L  529
#define IBAT1U  530     /* Instruction BAT #1 Upper/Lower */
#define IBAT1L  531
#define IBAT2U  532     /* Instruction BAT #2 Upper/Lower */
#define IBAT2L  533
#define IBAT3U  534     /* Instruction BAT #3 Upper/Lower */
#define IBAT3L  535
#define DBAT0U  536     /* Data BAT #0 Upper/Lower */
#define DBAT0L  537
#define DBAT1U  538     /* Data BAT #1 Upper/Lower */
#define DBAT1L  539
#define DBAT2U  540     /* Data BAT #2 Upper/Lower */
#define DBAT2L  541
#define DBAT3U  542     /* Data BAT #3 Upper/Lower */
#define DBAT3L  543
#define DMISS   976     /* TLB Lookup/Refresh registers */
#define DCMP    977
#define HASH1   978
#define HASH2   979
#define IMISS   980
#define ICMP    981
#define RPA     982
#define SDR1    25      /* MMU hash base register */
#define DAR     19      /* Data Address Register */
#define SPR0    272     /* Supervisor Private Registers */
#define SPR1    273
#define SPR2    274
#define SPR3    275
#define DSISR   18
#define SRR0    26      /* Saved Registers (exception) */
#define SRR1    27
#define IABR    1010    /* Instruction Address Breakpoint */
#define DEC     22      /* Decrementer */
#define EAR     282     /* External Address Register */

/* Segment Registers */
#define SR0     0
#define SR1     1
#define SR2     2
#define SR3     3
#define SR4     4
#define SR5     5
#define SR6     6
#define SR7     7
#define SR8     8
#define SR9     9
#define SR10    10
#define SR11    11
#define SR12    12
#define SR13    13
#define SR14    14
#define SR15    15

/* Missing instructions */
#define bdne    bc 0,2,

#include "asm/ppc_machine.h"

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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