2006-06-13 17:50:06 +02:00
|
|
|
#!/usr/bin/perl -w
|
|
|
|
|
2006-07-16 17:38:56 +02:00
|
|
|
# Generate vectors.S, the trap/interrupt entry points.
|
|
|
|
# There has to be one entry point per interrupt number
|
2006-06-13 17:50:06 +02:00
|
|
|
# since otherwise there's no way to tell the interrupt
|
|
|
|
# number.
|
|
|
|
|
|
|
|
print "/* generated by vectors.pl */\n";
|
2006-07-16 17:38:56 +02:00
|
|
|
print "/* handlers */\n";
|
2006-06-13 17:50:06 +02:00
|
|
|
print ".text\n";
|
|
|
|
print ".globl alltraps\n";
|
|
|
|
for(my $i = 0; $i < 256; $i++){
|
|
|
|
print ".globl vector$i\n";
|
|
|
|
print "vector$i:\n";
|
|
|
|
if(($i < 8 || $i > 14) && $i != 17){
|
|
|
|
print "\tpushl \$0\n";
|
|
|
|
}
|
2006-06-14 00:08:20 +02:00
|
|
|
print "\tpushl \$$i\n";
|
2006-06-13 17:50:06 +02:00
|
|
|
print "\tjmp alltraps\n";
|
|
|
|
}
|
2006-07-16 17:38:56 +02:00
|
|
|
|
|
|
|
print "\n/* vector table */\n";
|
2006-06-13 17:50:06 +02:00
|
|
|
print ".data\n";
|
|
|
|
print ".globl vectors\n";
|
|
|
|
print "vectors:\n";
|
|
|
|
for(my $i = 0; $i < 256; $i++){
|
2006-07-16 17:38:56 +02:00
|
|
|
print "\t.long vector$i\n";
|
2006-06-13 17:50:06 +02:00
|
|
|
}
|