diff options
author | rtm <rtm> | 2006-06-13 15:50:06 +0000 |
---|---|---|
committer | rtm <rtm> | 2006-06-13 15:50:06 +0000 |
commit | 0a70d042d04e084da4226e7d0d684dedcae06d78 (patch) | |
tree | 3dfa629b4e4b44b399fb13b384ed9b50dd03f997 /vectors.pl | |
parent | 70a895f63c504f255a28f63efdcfc6b39b2572c5 (diff) | |
download | xv6-labs-0a70d042d04e084da4226e7d0d684dedcae06d78.tar.gz xv6-labs-0a70d042d04e084da4226e7d0d684dedcae06d78.tar.bz2 xv6-labs-0a70d042d04e084da4226e7d0d684dedcae06d78.zip |
more or less take traps/interrupts
Diffstat (limited to 'vectors.pl')
-rwxr-xr-x | vectors.pl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/vectors.pl b/vectors.pl new file mode 100755 index 0000000..29187ba --- /dev/null +++ b/vectors.pl @@ -0,0 +1,25 @@ +#!/usr/bin/perl -w + +# generate vectors.S, the trap/interrupt entry points. +# there has to be one entry point per interrupt number +# since otherwise there's no way to tell the interrupt +# number. + +print "/* generated by vectors.pl */\n"; +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"; + } + print "\tpushl $i\n"; + print "\tjmp alltraps\n"; +} +print ".data\n"; +print ".globl vectors\n"; +print "vectors:\n"; +for(my $i = 0; $i < 256; $i++){ + print ".long vector$i\n"; +} |