added PPC_e300 to raw_exception.c

removed timed abort in ns16550.c transmit code
This commit is contained in:
Thomas Doerfler
2007-07-18 12:51:30 +00:00
parent c4bf0441d8
commit 6aff507844
4 changed files with 12 additions and 5 deletions

View File

@@ -1,3 +1,7 @@
2007-07-18 Thomas Doerfler (Thomas.Doerfler@embedded-brains.de>:
* libchip/serial/ns16550.c: removed timed out wait for transmitter
to become ready: This will not work for fast CPUs.
2007-07-09 Thomas Doerfler (Thomas.Doerfler@embedded-brains.de>: 2007-07-09 Thomas Doerfler (Thomas.Doerfler@embedded-brains.de>:
* libchip/ide/ata.c: fixed warning * libchip/ide/ata.c: fixed warning

View File

@@ -1,3 +1,8 @@
2007-07-18 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
* new-exceptions/raw_exception.c:
added PPC_e300c1/2/3 to vector validation code
2007-07-09 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> 2007-07-09 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
* configure.ac, Makefile.am, mpc83xx/include/mpc83xx.h, * configure.ac, Makefile.am, mpc83xx/include/mpc83xx.h,

View File

@@ -340,6 +340,9 @@ int ppc_vector_is_valid(rtems_vector vector)
case PPC_8260: case PPC_8260:
/* case PPC_8240: -- same value as 8260 */ /* case PPC_8240: -- same value as 8260 */
case PPC_8245: case PPC_8245:
case PPC_e300c1:
case PPC_e300c2:
case PPC_e300c3:
if (!mpc603_vector_is_valid(vector)) { if (!mpc603_vector_is_valid(vector)) {
return 0; return 0;
} }

View File

@@ -194,7 +194,6 @@ NS16550_STATIC void ns16550_write_polled(
{ {
uint32_t pNS16550; uint32_t pNS16550;
unsigned char ucLineStatus; unsigned char ucLineStatus;
int iTimeout;
getRegister_f getReg; getRegister_f getReg;
setRegister_f setReg; setRegister_f setReg;
@@ -205,7 +204,6 @@ NS16550_STATIC void ns16550_write_polled(
/* /*
* wait for transmitter holding register to be empty * wait for transmitter holding register to be empty
*/ */
iTimeout=10000;
ucLineStatus = (*getReg)(pNS16550, NS16550_LINE_STATUS); ucLineStatus = (*getReg)(pNS16550, NS16550_LINE_STATUS);
while ((ucLineStatus & SP_LSR_THOLD) == 0) { while ((ucLineStatus & SP_LSR_THOLD) == 0) {
/* /*
@@ -217,9 +215,6 @@ NS16550_STATIC void ns16550_write_polled(
} }
#endif #endif
ucLineStatus = (*getReg)(pNS16550, NS16550_LINE_STATUS); ucLineStatus = (*getReg)(pNS16550, NS16550_LINE_STATUS);
if(!--iTimeout) {
break;
}
} }
/* /*