X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2FGenSyscalls.php;h=d451d1dd89175db4fb96f56b53cca21a84ee7fd0;hb=cfa87b33e7227472532f00d1843b60d4117f6095;hp=7397f9de24a8e5f9107b3aca6856c18f97e28eae;hpb=8bc40333b1401d7616b225945fee53d972c2f418;p=tpg%2Facess2.git diff --git a/Kernel/GenSyscalls.php b/Kernel/GenSyscalls.php index 7397f9de..d451d1dd 100644 --- a/Kernel/GenSyscalls.php +++ b/Kernel/GenSyscalls.php @@ -8,13 +8,10 @@ foreach($gLines as $line) $line = trim($line); if(empty($line)) continue; - //echo $line,"\n"; - //echo intVal($line),"\n"; if( intVal($line) != 0) $i = $line; else - $lSyscalls[$i++] = explode("\t", $line, 2); - //echo $i,"\n"; + $lSyscalls[$i++] = explode("\t", $line, 3); } $lMax = $i; @@ -30,7 +27,6 @@ $lHeader = "/* #ifndef _SYSCALLS_H #define _SYSCALLS_H -enum eSyscalls { "; $i = 0; foreach($lSyscalls as $num=>$call) @@ -40,9 +36,8 @@ foreach($lSyscalls as $num=>$call) $lAsmInc .= "\n"; } - $lHeader .= "\t{$call[0]}"; - if($i != $num) $lHeader .= " = {$num}"; - $lHeader .= ",\t// {$num} - {$call[1]}\n"; + $lHeader .= "#define {$call[0]}\t{$num}"; + $lHeader .= "\t// {$num} - {$call[1]}\n"; $lAsmInc .= "%define {$call[0]}\t{$num}\t; {$call[1]}\n"; @@ -52,24 +47,28 @@ foreach($lSyscalls as $num=>$call) else $i ++; } -$lHeader .= "\tNUM_SYSCALLS,\n"; -$lHeader .= "\tSYS_DEBUG = 0x100 // 0x100 - Print a debug string\n"; -$lHeader .= "};\n\n"; +$lHeader .= "#define NUM_SYSCALLS\t$i\n"; +$lHeader .= "#define SYS_DEBUG\t0x100 // 0x100 - Print a debug string\n"; +$lHeader .= "\n"; +$lHeader .= "#ifdef __GNUC__\n"; $lHeader .= "static const char *cSYSCALL_NAMES[] = {\n\t"; $j = 0; for($i=0;$i<$lMax;$i++) { - $lHeader .= "\"".$lSyscalls[$i][0]."\","; + if(!isset($lSyscalls[$i])) + $lHeader .= "\"\","; + else + $lHeader .= "\"".$lSyscalls[$i][0]."\","; $j ++; if($j == 6) { $lHeader .= "\n\t"; $j = 0; } } -$lHeader .= "\"\"\n};\n#endif\n"; - -//echo $lHeader; +$lHeader .= "\"\"\n};\n" +$lHeader .= "#endif\n"; +$lHeader .= "#endif\n"; $fp = fopen("include/syscalls.h", "w"); fwrite($fp, $lHeader); fclose($fp); $fp = fopen("include/syscalls.inc.asm", "w"); fwrite($fp, $lAsmInc); fclose($fp);