forked from Imagelibrary/rtems
2005-01-19 Joel Sherrill <joel@OARcorp.com>
* pc386/console/vgainit.c, pc386/wd8003/wd8003.c, shared/comm/uart.c: Fix errors caught by gcc 4.x.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2005-01-19 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* pc386/console/vgainit.c, pc386/wd8003/wd8003.c, shared/comm/uart.c:
|
||||
Fix errors caught by gcc 4.x.
|
||||
|
||||
2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>
|
||||
|
||||
* configure.ac: Require automake > 1.9.
|
||||
|
||||
@@ -170,7 +170,7 @@ setmode(MODE mode)
|
||||
|
||||
/* VGA 800x600 16-color graphics (BIOS mode 0x29).
|
||||
*/
|
||||
static REGIO graphics_on[] = {
|
||||
REGIO graphics_on[] = {
|
||||
/* Reset attr F/F */
|
||||
IN, ATTRREG, 0, 0, 0,
|
||||
|
||||
|
||||
@@ -281,7 +281,8 @@ wd_rxDaemon (void *arg)
|
||||
unsigned int i2;
|
||||
unsigned int len;
|
||||
volatile unsigned char start, next, current;
|
||||
char *shp, *temp;
|
||||
unsigned char *shp, *temp;
|
||||
unsigned short *real_short_ptr;
|
||||
rtems_event_set events;
|
||||
|
||||
tport = wd_softc[0].port ;
|
||||
@@ -308,9 +309,11 @@ wd_rxDaemon (void *arg)
|
||||
if (current == start)
|
||||
break;
|
||||
|
||||
/* real_short_ptr avoids cast on lvalue which gcc no longer allows */
|
||||
shp = dp->base + 1 + (SHAPAGE * start);
|
||||
next = *shp++;
|
||||
len = *((short *)shp)++ - 4;
|
||||
real_short_ptr = (unsigned short *)shp;
|
||||
len = *(real_short_ptr)++ - 4;
|
||||
|
||||
if (next >= OUTPAGE){
|
||||
next = 0;
|
||||
|
||||
@@ -831,7 +831,7 @@ BSP_uart_termios_isr_com2()
|
||||
}
|
||||
|
||||
/* ================= GDB support ===================*/
|
||||
static int sav[4] __attribute__ ((unused));
|
||||
int BSP_uart_dbgisr_com_regsav[4] __attribute__ ((unused));
|
||||
|
||||
/*
|
||||
* Interrupt service routine for COM1 - all,
|
||||
@@ -845,9 +845,9 @@ asm (".p2align 4");
|
||||
asm (".text");
|
||||
asm (".globl BSP_uart_dbgisr_com1");
|
||||
asm ("BSP_uart_dbgisr_com1:");
|
||||
asm (" movl %eax, sav"); /* Save eax */
|
||||
asm (" movl %ebx, sav + 4"); /* Save ebx */
|
||||
asm (" movl %edx, sav + 8"); /* Save edx */
|
||||
asm (" movl %eax, BSP_uart_dbgisr_com_regsav"); /* Save eax */
|
||||
asm (" movl %ebx, BSP_uart_dbgisr_com_regsav + 4"); /* Save ebx */
|
||||
asm (" movl %edx, BSP_uart_dbgisr_com_regsav + 8"); /* Save edx */
|
||||
|
||||
asm (" movl $0, %ebx"); /* Clear flag */
|
||||
|
||||
@@ -878,37 +878,37 @@ asm (" cmpl $0, %ebx");
|
||||
asm (" je uart_dbgisr_com1_3");
|
||||
|
||||
/* Flag is set */
|
||||
asm (" movl sav+4, %ebx"); /* Restore ebx */
|
||||
asm (" movl sav+8, %edx"); /* Restore edx */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+4, %ebx"); /* Restore ebx */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+8, %edx"); /* Restore edx */
|
||||
|
||||
/* Set TF bit */
|
||||
asm (" popl %eax"); /* Pop eip */
|
||||
asm (" movl %eax, sav + 4"); /* Save it */
|
||||
asm (" popl %eax"); /* Pop cs */
|
||||
asm (" movl %eax, sav + 8"); /* Save it */
|
||||
asm (" popl %eax"); /* Pop flags */
|
||||
asm (" orl $0x100, %eax"); /* Modify it */
|
||||
asm (" pushl %eax"); /* Push it back */
|
||||
asm (" movl sav+8, %eax"); /* Put back cs */
|
||||
asm (" popl %eax"); /* Pop eip */
|
||||
asm (" movl %eax, BSP_uart_dbgisr_com_regsav + 4"); /* Save it */
|
||||
asm (" popl %eax"); /* Pop cs */
|
||||
asm (" movl %eax, BSP_uart_dbgisr_com_regsav + 8"); /* Save it */
|
||||
asm (" popl %eax"); /* Pop flags */
|
||||
asm (" orl $0x100, %eax"); /* Modify it */
|
||||
asm (" pushl %eax"); /* Push it back */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+8, %eax"); /* Put back cs */
|
||||
asm (" pushl %eax");
|
||||
asm (" movl sav+4, %eax"); /* Put back eip */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+4, %eax"); /* Put back eip */
|
||||
asm (" pushl %eax");
|
||||
|
||||
/* Acknowledge IRQ */
|
||||
asm (" movb $0x20, %al");
|
||||
asm (" outb %al, $0x20");
|
||||
asm (" movl sav, %eax"); /* Restore eax */
|
||||
asm (" iret"); /* Done */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav, %eax"); /* Restore eax */
|
||||
asm (" iret"); /* Done */
|
||||
|
||||
/* Flag is not set */
|
||||
asm("uart_dbgisr_com1_3:");
|
||||
asm (" movl sav+4, %ebx"); /* Restore ebx */
|
||||
asm (" movl sav+8, %edx"); /* Restore edx */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+4, %ebx"); /* Restore ebx */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+8, %edx"); /* Restore edx */
|
||||
|
||||
/* Acknowledge irq */
|
||||
asm (" movb $0x20, %al");
|
||||
asm (" outb %al, $0x20");
|
||||
asm (" movl sav, %eax"); /* Restore eax */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav, %eax"); /* Restore eax */
|
||||
asm (" iret"); /* Done */
|
||||
|
||||
/*
|
||||
@@ -922,9 +922,9 @@ asm (".p2align 4");
|
||||
asm (".text");
|
||||
asm (".globl BSP_uart_dbgisr_com2");
|
||||
asm ("BSP_uart_dbgisr_com2:");
|
||||
asm (" movl %eax, sav"); /* Save eax */
|
||||
asm (" movl %ebx, sav + 4"); /* Save ebx */
|
||||
asm (" movl %edx, sav + 8"); /* Save edx */
|
||||
asm (" movl %eax, BSP_uart_dbgisr_com_regsav"); /* Save eax */
|
||||
asm (" movl %ebx, BSP_uart_dbgisr_com_regsav + 4"); /* Save ebx */
|
||||
asm (" movl %edx, BSP_uart_dbgisr_com_regsav + 8"); /* Save edx */
|
||||
|
||||
asm (" movl $0, %ebx"); /* Clear flag */
|
||||
|
||||
@@ -955,35 +955,35 @@ asm (" cmpl $0, %ebx");
|
||||
asm (" je uart_dbgisr_com2_3");
|
||||
|
||||
/* Flag is set */
|
||||
asm (" movl sav+4, %ebx"); /* Restore ebx */
|
||||
asm (" movl sav+8, %edx"); /* Restore edx */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+4, %ebx"); /* Restore ebx */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+8, %edx"); /* Restore edx */
|
||||
|
||||
/* Set TF bit */
|
||||
asm (" popl %eax"); /* Pop eip */
|
||||
asm (" movl %eax, sav + 4"); /* Save it */
|
||||
asm (" movl %eax, BSP_uart_dbgisr_com_regsav + 4"); /* Save it */
|
||||
asm (" popl %eax"); /* Pop cs */
|
||||
asm (" movl %eax, sav + 8"); /* Save it */
|
||||
asm (" movl %eax, BSP_uart_dbgisr_com_regsav + 8"); /* Save it */
|
||||
asm (" popl %eax"); /* Pop flags */
|
||||
asm (" orl $0x100, %eax"); /* Modify it */
|
||||
asm (" pushl %eax"); /* Push it back */
|
||||
asm (" movl sav+8, %eax"); /* Put back cs */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+8, %eax"); /* Put back cs */
|
||||
asm (" pushl %eax");
|
||||
asm (" movl sav+4, %eax"); /* Put back eip */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+4, %eax"); /* Put back eip */
|
||||
asm (" pushl %eax");
|
||||
|
||||
/* Acknowledge IRQ */
|
||||
asm (" movb $0x20, %al");
|
||||
asm (" outb %al, $0x20");
|
||||
asm (" movl sav, %eax"); /* Restore eax */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav, %eax"); /* Restore eax */
|
||||
asm (" iret"); /* Done */
|
||||
|
||||
/* Flag is not set */
|
||||
asm("uart_dbgisr_com2_3:");
|
||||
asm (" movl sav+4, %ebx"); /* Restore ebx */
|
||||
asm (" movl sav+8, %edx"); /* Restore edx */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+4, %ebx"); /* Restore ebx */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav+8, %edx"); /* Restore edx */
|
||||
|
||||
/* Acknowledge irq */
|
||||
asm (" movb $0x20, %al");
|
||||
asm (" outb %al, $0x20");
|
||||
asm (" movl sav, %eax"); /* Restore eax */
|
||||
asm (" movl BSP_uart_dbgisr_com_regsav, %eax"); /* Restore eax */
|
||||
asm (" iret"); /* Done */
|
||||
|
||||
Reference in New Issue
Block a user