forked from Imagelibrary/rtems
2002-05-01 Eric Norum <eric.norum@usask.ca>
* console/console.c, fatal/bspfatal.c, startup/bspclean.c, startup/page_table.c: Per PR200 fix multi-line inline assembly to satisfy gcc 3.1 and newer.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2002-05-01 Eric Norum <eric.norum@usask.ca>
|
||||||
|
|
||||||
|
* console/console.c, fatal/bspfatal.c, startup/bspclean.c,
|
||||||
|
startup/page_table.c: Per PR200 fix multi-line inline assembly
|
||||||
|
to satisfy gcc 3.1 and newer.
|
||||||
|
|
||||||
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||||
|
|
||||||
* configure.ac:
|
* configure.ac:
|
||||||
|
|||||||
@@ -1297,13 +1297,13 @@ int _167Bug_pollRead(
|
|||||||
*/
|
*/
|
||||||
rtems_interrupt_disable( previous_level );
|
rtems_interrupt_disable( previous_level );
|
||||||
|
|
||||||
asm volatile( "movew %1, -(%%sp) /* Channel */
|
asm volatile( "movew %1, -(%%sp)\n\t"/* Channel */
|
||||||
trap #15 /* Trap to 167Bug */
|
"trap #15\n\t" /* Trap to 167Bug */
|
||||||
.short 0x61 /* Code for .REDIR_I */
|
".short 0x61\n\t" /* Code for .REDIR_I */
|
||||||
trap #15 /* Trap to 167Bug */
|
"trap #15\n\t" /* Trap to 167Bug */
|
||||||
.short 0x01 /* Code for .INSTAT */
|
".short 0x01\n\t" /* Code for .INSTAT */
|
||||||
move %%cc, %0 /* Get condition codes */
|
"move %%cc, %0\n\t" /* Get condition codes */
|
||||||
andil #4, %0" /* Keep the Zero bit */
|
"andil #4, %0" /* Keep the Zero bit */
|
||||||
: "=d" (char_not_available) : "d" (minor): "%%cc" );
|
: "=d" (char_not_available) : "d" (minor): "%%cc" );
|
||||||
|
|
||||||
if (char_not_available) {
|
if (char_not_available) {
|
||||||
@@ -1312,10 +1312,10 @@ int _167Bug_pollRead(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Read the char and return it */
|
/* Read the char and return it */
|
||||||
asm volatile( "subq.l #2,%%a7 /* Space for result */
|
asm volatile( "subq.l #2,%%a7\n\t" /* Space for result */
|
||||||
trap #15 /* Trap to 167 Bug */
|
"trap #15\n\t" /* Trap to 167 Bug */
|
||||||
.short 0x00 /* Code for .INCHR */
|
".short 0x00\n\t" /* Code for .INCHR */
|
||||||
moveb (%%a7)+, %0" /* Pop char into c */
|
"moveb (%%a7)+, %0" /* Pop char into c */
|
||||||
: "=d" (c) : );
|
: "=d" (c) : );
|
||||||
|
|
||||||
rtems_interrupt_enable( previous_level );
|
rtems_interrupt_enable( previous_level );
|
||||||
@@ -1349,12 +1349,12 @@ int _167Bug_pollWrite(
|
|||||||
{
|
{
|
||||||
const char *endbuf = buf + len;
|
const char *endbuf = buf + len;
|
||||||
|
|
||||||
asm volatile( "pea (%0) /* endbuf */
|
asm volatile( "pea (%0)\n\t" /* endbuf */
|
||||||
pea (%1) /* buf */
|
"pea (%1)\n\t" /* buf */
|
||||||
movew #0x21, -(%%sp) /* Code for .OUTSTR */
|
"movew #0x21, -(%%sp)\n\t" /* Code for .OUTSTR */
|
||||||
movew %2, -(%%sp) /* Channel */
|
"movew %2, -(%%sp)\n\t" /* Channel */
|
||||||
trap #15 /* Trap to 167Bug */
|
"trap #15\n\t" /* Trap to 167Bug */
|
||||||
.short 0x60" /* Code for .REDIR */
|
".short 0x60" /* Code for .REDIR */
|
||||||
:: "a" (endbuf), "a" (buf), "d" (minor) );
|
:: "a" (endbuf), "a" (buf), "d" (minor) );
|
||||||
|
|
||||||
/* Return something */
|
/* Return something */
|
||||||
|
|||||||
@@ -116,12 +116,12 @@ User_extensions_routine bsp_fatal_error_occurred(
|
|||||||
lcsr->intr_ena = 0; /* disable interrupts */
|
lcsr->intr_ena = 0; /* disable interrupts */
|
||||||
m68k_set_vbr(0xFFE00000); /* restore 167Bug vectors */
|
m68k_set_vbr(0xFFE00000); /* restore 167Bug vectors */
|
||||||
|
|
||||||
asm volatile( "movel %0, -(%%a7)
|
asm volatile( "movel %0, -(%%a7)\n\t"
|
||||||
pea (%%a7)
|
"pea (%%a7)\n\t"
|
||||||
pea (%1)
|
"pea (%1)\n\t"
|
||||||
trap #15 /* trap to 167Bug (.WRITDLN) */
|
"trap #15\n\t" /* trap to 167Bug (.WRITDLN) */
|
||||||
.short 0x25
|
".short 0x25\n\t"
|
||||||
trap #15
|
"trap #15\n\t"
|
||||||
.short 0x63"
|
".short 0x63"
|
||||||
:: "d" (the_error), "a" (&my_p_str) );
|
:: "d" (the_error), "a" (&my_p_str) );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,8 +42,8 @@ static void bsp_return_to_monitor_trap( void )
|
|||||||
|
|
||||||
lcsr->intr_ena = 0; /* disable interrupts */
|
lcsr->intr_ena = 0; /* disable interrupts */
|
||||||
m68k_set_vbr(0xFFE00000); /* restore 167Bug vectors */
|
m68k_set_vbr(0xFFE00000); /* restore 167Bug vectors */
|
||||||
asm volatile( "trap #15 /* trap to 167Bug */
|
asm volatile( "trap #15\n\t" /* trap to 167Bug */
|
||||||
.short 0x63" ); /* return to 167Bug (.RETURN) */
|
".short 0x63" ); /* return to 167Bug (.RETURN) */
|
||||||
|
|
||||||
/* restart program */
|
/* restart program */
|
||||||
start_addr = start;
|
start_addr = start;
|
||||||
|
|||||||
@@ -120,14 +120,14 @@ void page_table_init(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* do it ! */
|
/* do it ! */
|
||||||
asm volatile("movec %0, %%tc /* turn off paged address translation */
|
asm volatile("movec %0, %%tc\n\t" /* turn off paged address translation */
|
||||||
movec %0, %%cacr /* disable both caches */
|
"movec %0, %%cacr\n\t" /* disable both caches */
|
||||||
cinva %%bc /* clear both caches */
|
"cinva %%bc\n\t" /* clear both caches */
|
||||||
movec %1,%%dtt0 /* block address translation on */
|
"movec %1,%%dtt0\n\t" /* block address translation on */
|
||||||
movec %1,%%itt0
|
"movec %1,%%itt0\n\t"
|
||||||
movec %2,%%dtt1
|
"movec %2,%%dtt1\n\t"
|
||||||
movec %2,%%itt1
|
"movec %2,%%itt1\n\t"
|
||||||
movec %3,%%cacr" /* data cache on */
|
"movec %3,%%cacr" /* data cache on */
|
||||||
:: "d" (0), "d" (dtt0), "d" (0xFF00C040), "d" (cacr));
|
:: "d" (0), "d" (dtt0), "d" (0xFF00C040), "d" (cacr));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,12 +146,12 @@ void page_table_init(
|
|||||||
*/
|
*/
|
||||||
void page_table_teardown( void )
|
void page_table_teardown( void )
|
||||||
{
|
{
|
||||||
asm volatile ("movec %0,%%tc
|
asm volatile ("movec %0,%%tc\n\t"
|
||||||
movec %0,%%cacr
|
"movec %0,%%cacr\n\t"
|
||||||
cpusha %%bc
|
"cpusha %%bc\n\t"
|
||||||
movec %0,%%dtt0
|
"movec %0,%%dtt0\n\t"
|
||||||
movec %0,%%itt0
|
"movec %0,%%itt0\n\t"
|
||||||
movec %0,%%dtt1
|
"movec %0,%%dtt1\n\t"
|
||||||
movec %0,%%itt1"
|
"movec %0,%%itt1"
|
||||||
:: "d" (0) );
|
:: "d" (0) );
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user