- Minor mod to reset16.inc to work with newer binutils hopefully this works with older ones...

- Update apic.h to include the APIC_TASK_PRI register definition
- Update mptable.c to have a reasonable board OEM and productid
- Additional testfiles for romcc.
- Split out auto.c and early failover.c moving their generic bits elsewere
- Enable cache of the rom
- Fixes to amd8111_lpc.c so that we successfully setup virtual wire mode on the ioapic


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@880 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Eric Biederman
2003-06-17 08:42:17 +00:00
parent f96a810f11
commit 8d9c123812
17 changed files with 718 additions and 428 deletions

View File

@@ -21,7 +21,7 @@ static struct syscall_result syscall0(unsigned long nr)
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr));
return syscall_return(res);
}
@@ -31,7 +31,7 @@ static struct syscall_result syscall1(unsigned long nr, unsigned long arg1)
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr), "b" (arg1));
return syscall_return(res);
@@ -42,7 +42,7 @@ static struct syscall_result syscall2(unsigned long nr, unsigned long arg1, unsi
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr), "b" (arg1), "c" (arg2));
return syscall_return(res);
@@ -55,7 +55,7 @@ static struct syscall_result syscall3(unsigned long nr, unsigned long arg1, unsi
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr), "b" (arg1), "c" (arg2), "d" (arg3));
return syscall_return(res);
@@ -67,7 +67,7 @@ static struct syscall_result syscall4(unsigned long nr, unsigned long arg1, unsi
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr), "b" (arg1), "c" (arg2), "d" (arg3), "S" (arg4));
return syscall_return(res);
@@ -79,7 +79,7 @@ static struct syscall_result syscall5(unsigned long nr, unsigned long arg1, unsi
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr), "b" (arg1), "c" (arg2), "d" (arg3),
"S" (arg4), "D" (arg5));
return syscall_return(res);

View File

@@ -21,7 +21,7 @@ static struct syscall_result syscall0(unsigned long nr)
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr));
return syscall_return(res);
}
@@ -31,7 +31,7 @@ static struct syscall_result syscall1(unsigned long nr, unsigned long arg1)
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr), "b" (arg1));
return syscall_return(res);
@@ -42,7 +42,7 @@ static struct syscall_result syscall2(unsigned long nr, unsigned long arg1, unsi
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr), "b" (arg1), "c" (arg2));
return syscall_return(res);
@@ -55,7 +55,7 @@ static struct syscall_result syscall3(unsigned long nr, unsigned long arg1, unsi
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr), "b" (arg1), "c" (arg2), "d" (arg3));
return syscall_return(res);
@@ -67,7 +67,7 @@ static struct syscall_result syscall4(unsigned long nr, unsigned long arg1, unsi
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr), "b" (arg1), "c" (arg2), "d" (arg3), "S" (arg4));
return syscall_return(res);
@@ -79,7 +79,7 @@ static struct syscall_result syscall5(unsigned long nr, unsigned long arg1, unsi
long res;
asm volatile(
"int $0x80"
: "a" (res)
: "=a" (res)
: "a" (nr), "b" (arg1), "c" (arg2), "d" (arg3),
"S" (arg4), "D" (arg5));
return syscall_return(res);

View File

@@ -0,0 +1,35 @@
void main(void)
{
unsigned long addr, start, stop;
start = 0x00100000;
stop = 0x00180000;
for(addr = start; addr < stop ;) {
unsigned char ch;
const char *str = "\r";
while((ch = *str++) != '\0') {
while(__builtin_inb(0x3f))
;
__builtin_outb(ch, 0x3f8);
while(__builtin_inb(0x3f))
;
}
asm (
"jmp 2f\n\t"
"1:\n\t"
"testl $0xffff, %0\n\t"
"jz 3f\n\t"
"movnti %0, (%0)\n\t"
"add $4, %0\n\t"
"2:\n\t"
"cmp %2, %0\n\t"
"jl 1b\n\t"
"3:\n\t"
: "=b" (addr) /* outputs */
: "0" (addr), "r" (stop) /* intputs */
: /* clobbers */
);
};
}