3 $#ARGV==0 or die "gimme a filename\n";
9 open(HEADER,">$file.h");
10 open(SOURCE,">$file.c");
12 print HEADER "#ifndef $file\n#define $file\n#include <geekos/vmcs.h>\n";
13 print SOURCE "#include <geekos/$file.h>\n";
16 if (/\#define\s+(\S+)\s+/) {
22 GenPrintAllCode(@list);
24 print HEADER "#endif\n";
31 void Set_$name(uint_t val) { VMCS_WRITE($name,val); }
32 uint_t Get_$name() { uint_t rc; VMCS_READ($name,&rc); return rc; }
34 void SerialPrint_$name() { SerialPrint("$name = %x\\n", Get_$name()); }
41 void Set_$name(uint_t val);
44 void SerialPrint_$name();
54 print SOURCE "void SerialPrint_VMCS_ALL() {\n";
55 while (my $name=shift) {
56 print SOURCE " SerialPrint_$name();\n";
59 print HEADER "void SerialPrint_VMCS_ALL();\n";