- 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:
@@ -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);
|
||||
|
@@ -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);
|
||||
|
35
util/romcc/tests/simple_test32.c
Normal file
35
util/romcc/tests/simple_test32.c
Normal 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 */
|
||||
);
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user