kvm: bios: merge branch 'bochs-bios-cvs'
[qemu-kvm/fedora.git] / kvm / bios / makesym.perl
blob631265404895e31e33605278aedc3c5c8a9d89ec
1 #!/usr/bin/perl
3 # $Id: makesym.perl,v 1.1 2002/11/24 22:45:40 bdenney Exp $
5 # Read output file from as86 (e.g. rombios.txt) and write out a symbol
6 # table suitable for the Bochs debugger.
9 $WHERE_BEFORE_SYM_TABLE = 0;
10 $WHERE_IN_SYM_TABLE = 1;
11 $WHERE_AFTER_SYM_TABLE = 2;
13 $where = $WHERE_BEFORE_SYM_TABLE;
14 while (<STDIN>) {
15 chop;
16 if ($where == WHERE_BEFORE_SYM_TABLE && /^Symbols:/) {
17 $where = $WHERE_IN_SYM_TABLE;
18 } elsif ($where == $WHERE_IN_SYM_TABLE && /^$/) {
19 $where = $WHERE_AFTER_SYM_TABLE;
21 if ($where == $WHERE_IN_SYM_TABLE) {
22 @F = split (/\s+/);
23 ($name[0], $junk, $addr[0], $junk, $name[1], $junk, $addr[1]) = @F;
24 foreach $col (0,1) {
25 next if length $addr[$col] < 1;
26 $addr[$col] =~ tr/A-Z/a-z/;
27 $addr[$col] = "000f" . $addr[$col];
28 print "$addr[$col] $name[$col]\n";