forked from len0rd/rockbox
Add registers macl and mach in save and restore context functions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@228 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
81df66031e
commit
a06a3d0721
1 changed files with 6 additions and 0 deletions
|
@ -23,6 +23,8 @@ typedef union
|
||||||
struct regs_t
|
struct regs_t
|
||||||
{
|
{
|
||||||
unsigned int r[7]; /* Registers r8 thru r14 */
|
unsigned int r[7]; /* Registers r8 thru r14 */
|
||||||
|
unsigned int mach,
|
||||||
|
macl;
|
||||||
void *sp; /* Stack pointer (r15) */
|
void *sp; /* Stack pointer (r15) */
|
||||||
unsigned int sr; /* Status register */
|
unsigned int sr; /* Status register */
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -111,6 +113,8 @@ static inline void stctx(void* addr)
|
||||||
/* here a far better code */
|
/* here a far better code */
|
||||||
asm volatile ("sts.l pr, @-%0\n\t"
|
asm volatile ("sts.l pr, @-%0\n\t"
|
||||||
"stc.l sr, @-%0\n\t"
|
"stc.l sr, @-%0\n\t"
|
||||||
|
"sts.l macl,@-%0\n\t"
|
||||||
|
"sts.l mach,@-%0\n\t"
|
||||||
"mov.l r15, @-%0\n\t"
|
"mov.l r15, @-%0\n\t"
|
||||||
"mov.l r14, @-%0\n\t"
|
"mov.l r14, @-%0\n\t"
|
||||||
"mov.l r13, @-%0\n\t"
|
"mov.l r13, @-%0\n\t"
|
||||||
|
@ -159,6 +163,8 @@ static inline void ldctx(void* addr)
|
||||||
"mov.l @%0+,r13\n\t"
|
"mov.l @%0+,r13\n\t"
|
||||||
"mov.l @%0+,r14\n\t"
|
"mov.l @%0+,r14\n\t"
|
||||||
"mov.l @%0+,r15\n\t"
|
"mov.l @%0+,r15\n\t"
|
||||||
|
"lds.l @%0+,mach\n\t"
|
||||||
|
"lds.l @%0+,macl\n\t"
|
||||||
"ldc.l @%0+,sr\n\t"
|
"ldc.l @%0+,sr\n\t"
|
||||||
"lds.l @%0+,pr" : : "r" (addr));
|
"lds.l @%0+,pr" : : "r" (addr));
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue