Adds kernel docs.

This commit is contained in:
wilkie
2013-03-14 01:31:54 -04:00
commit 8c109b96af
78 changed files with 1800 additions and 0 deletions

78
index.html Normal file
View File

@@ -0,0 +1,78 @@
<html><head><title>XOmB Kernel Code Documentation</title></head><body><ul>
<li><a href='kernel/core/util.html'>kernel/core/util.html</a></li>
<li><a href='kernel/core/log.html'>kernel/core/log.html</a></li>
<li><a href='kernel/core/syscall.html'>kernel/core/syscall.html</a></li>
<li><a href='kernel/core/kprintf.html'>kernel/core/kprintf.html</a></li>
<li><a href='kernel/core/kmain.html'>kernel/core/kmain.html</a></li>
<li><a href='kernel/core/error.html'>kernel/core/error.html</a></li>
<li><a href='kernel/runtime/precision.html'>kernel/runtime/precision.html</a></li>
<li><a href='kernel/runtime/util.html'>kernel/runtime/util.html</a></li>
<li><a href='kernel/runtime/std/intrinsic.html'>kernel/runtime/std/intrinsic.html</a></li>
<li><a href='kernel/runtime/std/moduleinit.html'>kernel/runtime/std/moduleinit.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_double.html'>kernel/runtime/std/typeinfo/ti_double.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_long.html'>kernel/runtime/std/typeinfo/ti_long.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_dchar.html'>kernel/runtime/std/typeinfo/ti_dchar.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_Ashort.html'>kernel/runtime/std/typeinfo/ti_Ashort.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_byte.html'>kernel/runtime/std/typeinfo/ti_byte.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_AC.html'>kernel/runtime/std/typeinfo/ti_AC.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_ptr.html'>kernel/runtime/std/typeinfo/ti_ptr.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_Along.html'>kernel/runtime/std/typeinfo/ti_Along.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_ubyte.html'>kernel/runtime/std/typeinfo/ti_ubyte.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_void.html'>kernel/runtime/std/typeinfo/ti_void.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_wchar.html'>kernel/runtime/std/typeinfo/ti_wchar.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_int.html'>kernel/runtime/std/typeinfo/ti_int.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_ulong.html'>kernel/runtime/std/typeinfo/ti_ulong.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_Ag.html'>kernel/runtime/std/typeinfo/ti_Ag.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_char.html'>kernel/runtime/std/typeinfo/ti_char.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_ushort.html'>kernel/runtime/std/typeinfo/ti_ushort.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_cfloat.html'>kernel/runtime/std/typeinfo/ti_cfloat.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_float.html'>kernel/runtime/std/typeinfo/ti_float.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_real.html'>kernel/runtime/std/typeinfo/ti_real.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_delegate.html'>kernel/runtime/std/typeinfo/ti_delegate.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_Aint.html'>kernel/runtime/std/typeinfo/ti_Aint.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_short.html'>kernel/runtime/std/typeinfo/ti_short.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_creal.html'>kernel/runtime/std/typeinfo/ti_creal.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_uint.html'>kernel/runtime/std/typeinfo/ti_uint.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_cdouble.html'>kernel/runtime/std/typeinfo/ti_cdouble.html</a></li>
<li><a href='kernel/runtime/std/typeinfo/ti_C.html'>kernel/runtime/std/typeinfo/ti_C.html</a></li>
<li><a href='kernel/runtime/dstubs.html'>kernel/runtime/dstubs.html</a></li>
<li><a href='kernel/runtime/gcc/builtins.html'>kernel/runtime/gcc/builtins.html</a></li>
<li><a href='kernel/config.html'>kernel/config.html</a></li>
<li><a href='kernel/arch/x86/multiprocessor.html'>kernel/arch/x86/multiprocessor.html</a></li>
<li><a href='kernel/arch/x86/imports/nativecall.html'>kernel/arch/x86/imports/nativecall.html</a></li>
<li><a href='kernel/arch/x86/cpu.html'>kernel/arch/x86/cpu.html</a></li>
<li><a href='kernel/arch/x86/vm.html'>kernel/arch/x86/vm.html</a></li>
<li><a href='kernel/arch/x86/linker.html'>kernel/arch/x86/linker.html</a></li>
<li><a href='kernel/arch/x86_64/specs/acpi.html'>kernel/arch/x86_64/specs/acpi.html</a></li>
<li><a href='kernel/arch/x86_64/specs/acpitables.html'>kernel/arch/x86_64/specs/acpitables.html</a></li>
<li><a href='kernel/arch/x86_64/specs/mp.html'>kernel/arch/x86_64/specs/mp.html</a></li>
<li><a href='kernel/arch/x86_64/core/pic.html'>kernel/arch/x86_64/core/pic.html</a></li>
<li><a href='kernel/arch/x86_64/core/info.html'>kernel/arch/x86_64/core/info.html</a></li>
<li><a href='kernel/arch/x86_64/core/descriptor.html'>kernel/arch/x86_64/core/descriptor.html</a></li>
<li><a href='kernel/arch/x86_64/core/ioapic.html'>kernel/arch/x86_64/core/ioapic.html</a></li>
<li><a href='kernel/arch/x86_64/core/gdt.html'>kernel/arch/x86_64/core/gdt.html</a></li>
<li><a href='kernel/arch/x86_64/core/idt.html'>kernel/arch/x86_64/core/idt.html</a></li>
<li><a href='kernel/arch/x86_64/core/tss.html'>kernel/arch/x86_64/core/tss.html</a></li>
<li><a href='kernel/arch/x86_64/core/lapic.html'>kernel/arch/x86_64/core/lapic.html</a></li>
<li><a href='kernel/arch/x86_64/imports/nativecall.html'>kernel/arch/x86_64/imports/nativecall.html</a></li>
<li><a href='kernel/arch/x86_64/architecture/keyboard.html'>kernel/arch/x86_64/architecture/keyboard.html</a></li>
<li><a href='kernel/arch/x86_64/architecture/timing.html'>kernel/arch/x86_64/architecture/timing.html</a></li>
<li><a href='kernel/arch/x86_64/architecture/pci.html'>kernel/arch/x86_64/architecture/pci.html</a></li>
<li><a href='kernel/arch/x86_64/architecture/multiprocessor.html'>kernel/arch/x86_64/architecture/multiprocessor.html</a></li>
<li><a href='kernel/arch/x86_64/architecture/mutex.html'>kernel/arch/x86_64/architecture/mutex.html</a></li>
<li><a href='kernel/arch/x86_64/architecture/perfmon.html'>kernel/arch/x86_64/architecture/perfmon.html</a></li>
<li><a href='kernel/arch/x86_64/architecture/syscall.html'>kernel/arch/x86_64/architecture/syscall.html</a></li>
<li><a href='kernel/arch/x86_64/architecture/cpu.html'>kernel/arch/x86_64/architecture/cpu.html</a></li>
<li><a href='kernel/arch/x86_64/architecture/main.html'>kernel/arch/x86_64/architecture/main.html</a></li>
<li><a href='kernel/arch/x86_64/linker.html'>kernel/arch/x86_64/linker.html</a></li>
<li><a href='kernel/system/bootinfo.html'>kernel/system/bootinfo.html</a></li>
<li><a href='kernel/system/info.html'>kernel/system/info.html</a></li>
<li><a href='kernel/system/multiboot.html'>kernel/system/multiboot.html</a></li>
<li><a href='kernel/system/definitions.html'>kernel/system/definitions.html</a></li>
<li><a href='kernel/dev/keyboard.html'>kernel/dev/keyboard.html</a></li>
<li><a href='kernel/dev/pci.html'>kernel/dev/pci.html</a></li>
<li><a href='kernel/dev/vga.html'>kernel/dev/vga.html</a></li>
<li><a href='kernel/dev/console.html'>kernel/dev/console.html</a></li>
<li><a href='kernel/mem/bitmap.html'>kernel/mem/bitmap.html</a></li>
<li><a href='kernel/mem/pageallocator.html'>kernel/mem/pageallocator.html</a></li>
</ul></body></html>

10
kernel/arch/x86/cpu.html Normal file
View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86.cpu</title>
</head><body>
<h1>kernel.arch.x86.cpu</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86/cpu.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.user.nativecall</title>
</head><body>
<h1>kernel.user.nativecall</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86/imports/nativecall.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86.linker</title>
</head><body>
<h1>kernel.arch.x86.linker</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86/linker.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86.mp</title>
</head><body>
<h1>kernel.arch.x86.mp</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86/multiprocessor.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

10
kernel/arch/x86/vm.html Normal file
View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86.vm</title>
</head><body>
<h1>kernel.arch.x86.vm</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86/vm.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>architecture.cpu</title>
</head><body>
<h1>architecture.cpu</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/architecture/cpu.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>architecture.keyboard</title>
</head><body>
<h1>architecture.keyboard</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/architecture/keyboard.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>architecture.main</title>
</head><body>
<h1>architecture.main</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/architecture/main.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>architecture.multiprocessor</title>
</head><body>
<h1>architecture.multiprocessor</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/architecture/multiprocessor.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>architecture.mutex</title>
</head><body>
<h1>architecture.mutex</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/architecture/mutex.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>architecture.pci</title>
</head><body>
<h1>architecture.pci</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/architecture/pci.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>architecture.perfmon</title>
</head><body>
<h1>architecture.perfmon</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/architecture/perfmon.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>architecture.syscall</title>
</head><body>
<h1>architecture.syscall</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/architecture/syscall.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>architecture.timing</title>
</head><body>
<h1>architecture.timing</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/architecture/timing.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.core.descriptor</title>
</head><body>
<h1>kernel.arch.x86_64.core.descriptor</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/core/descriptor.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.core.gdt</title>
</head><body>
<h1>kernel.arch.x86_64.core.gdt</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/core/gdt.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.core.idt</title>
</head><body>
<h1>kernel.arch.x86_64.core.idt</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/core/idt.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.core.info</title>
</head><body>
<h1>kernel.arch.x86_64.core.info</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/core/info.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.core.ioapic</title>
</head><body>
<h1>kernel.arch.x86_64.core.ioapic</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/core/ioapic.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.core.lapic</title>
</head><body>
<h1>kernel.arch.x86_64.core.lapic</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/core/lapic.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.core.pic</title>
</head><body>
<h1>kernel.arch.x86_64.core.pic</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/core/pic.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.core.tss</title>
</head><body>
<h1>kernel.arch.x86_64.core.tss</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/core/tss.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>user.nativecall</title>
</head><body>
<h1>user.nativecall</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/imports/nativecall.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.linker</title>
</head><body>
<h1>kernel.arch.x86_64.linker</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/linker.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.specs.acpi</title>
</head><body>
<h1>kernel.arch.x86_64.specs.acpi</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/specs/acpi.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.specs.acpitables</title>
</head><body>
<h1>kernel.arch.x86_64.specs.acpitables</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/specs/acpitables.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.arch.x86_64.specs.mp</title>
</head><body>
<h1>kernel.arch.x86_64.specs.mp</h1>
<!-- Generated by Ddoc from ../kernel/arch/x86_64/specs/mp.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

10
kernel/config.html Normal file
View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.config</title>
</head><body>
<h1>kernel.config</h1>
<!-- Generated by Ddoc from ../kernel/config.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

25
kernel/core/error.html Normal file
View File

@@ -0,0 +1,25 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.core.error</title>
</head><body>
<h1>kernel.core.error</h1>
<!-- Generated by Ddoc from ../kernel/core/error.d -->
<br><br>
<dl><dt><big>enum <u>ErrorVal</u>;
</big></dt>
<dd>The kernel error value.<br><br>
<dl><dt><big><u>Success</u></big></dt>
<dd>Upon success.<br><br>
</dd>
<dt><big><u>Fail</u></big></dt>
<dd>Upon failure.<br><br>
</dd>
</dl>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

29
kernel/core/kmain.html Normal file
View File

@@ -0,0 +1,29 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.core.kmain</title>
</head><body>
<h1>kernel.core.kmain</h1>
<!-- Generated by Ddoc from ../kernel/core/kmain.d -->
<br><br>
<dl><dt><big>void <u>kmain</u>(int <i>bootLoaderID</i>, void* <i>data</i>);
</big></dt>
<dd>The main function for the kernel.
This will receive <i>data</i> from the boot loader.
<br><br>
<b>Params:</b><br>
<table><tr><td>int <i>bootLoaderID</i></td>
<td>the unique identifier for a boot loader.</td></tr>
<tr><td>void* <i>data</i></td>
<td>a structure given by the boot loader.</td></tr>
</table><br>
</dd>
<dt><big>void <u>apEntry</u>();
</big></dt>
<dd>The entry point for a secondary core.<br><br>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

69
kernel/core/kprintf.html Normal file
View File

@@ -0,0 +1,69 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.core.kprintf</title>
</head><body>
<h1>kernel.core.kprintf</h1>
<!-- Generated by Ddoc from ../kernel/core/kprintf.d -->
<br><br>
<dl><dt><big>template <u>kprintf</u>(char[] Format)</big></dt>
<dd>This template will generate code for printing and will do
all parsing of the format string at compile time
<br><br>
<b>USAGE:</b><br>
<u>kprintf</u>!("format string {specifier} ... ")(args...);
<br><br>
<b>Examples:</b><br>
<u>kprintf</u>!("Integer: {}")(10);
<u>kprintf</u>!("{!cls}Cleared the screen.")();
<u>kprintf</u>!("{!pos:2,3}At position (2,3)")();
<u>kprintf</u>!("{!fg:LightBlue!bg:Gray}{}")(25);
<u>kprintf</u>!("{!fg:Red}redness")();
<u>kprintf</u>!("{x} Hex!")(145);
<u>kprintf</u>!("Curly Brace: {{")();
<br><br>
<b>COMMANDS:</b><br>
!cls - Clears the screen.
!fg - Sets the foreground color, see the Color enum
in kernel/dev/console.d.
!bg - Sets the background color, same as above.
!pos - Moves the cursor to the x and y given, see example above.
<br><br>
<b>SPECIFIERS:</b><br>
{x} - Prints the hex value.
{u} - Treats as unsigned.
{} - Prints common form.
<br><br>
WHY IS IT COOL?
- Compile time parsing of format strings
- Type checking at compile time as well
- That means it can tell you that you are dumb before you execute.
- No need to specify type information.
<br><br>
- So we can do this and not care about the
output of the function:
<br><br>
auto blah = someFunction();
<u>kprintf</u>!("Some Arbitrary Info: {}")(blah);
<br><br>
WOWWY WOW WOW!<br><br>
</dd>
<dt><big>template <u>kprintfln</u>(char[] Format)</big></dt>
<dd>This template will generate code like kprintf but will also
print a newline afterward.
<br><br>
<b>USAGE:</b><br>
See kprintf.<br><br>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

42
kernel/core/log.html Normal file
View File

@@ -0,0 +1,42 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.core.log</title>
</head><body>
<h1>kernel.core.log</h1>
<!-- Generated by Ddoc from ../kernel/core/log.d -->
<br><br>
<dl><dt><big>struct <u>Log</u>;
</big></dt>
<dd>This structure implements the logging for the kernel.
<br><br>
<b>USAGE:</b><br>
<pre class="d_code"> <font color=green>// DoAThing returns an ErrorVal
</font>
<u>Log</u>.print(<font color=red>"Doing a thing"</font>);
<u>Log</u>.result(DoAThing());
<font color=green>// Will Print:
</font> <font color=green>// Doing a thing ........................ [ OK ]
</font> <font color=green>// or
</font> <font color=green>// Doing a thing ........................ [FAIL]
</font></pre>
<br><br>
<dl><dt><big>static ErrorVal <u>print</u>(char[] <i>message</i>);
</big></dt>
<dd>This function prints a <i>message</i> and an error
to a log line on the screen.<br><br>
</dd>
<dt><big>static ErrorVal <u>result</u>(ErrorVal <i>e</i>);
</big></dt>
<dd>This function records the <u>result</u> for the last line in the log and
then pops it off the stack.<br><br>
</dd>
</dl>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

58
kernel/core/syscall.html Normal file
View File

@@ -0,0 +1,58 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.core.syscall</title>
</head><body>
<h1>kernel.core.syscall</h1>
<!-- Generated by Ddoc from ../kernel/core/syscall.d -->
<br><br>
<dl><dt><big>class <u>SyscallImplementations</u>;
</big></dt>
<dd>This structure houses the implementations of system calls.
Do not call these directly.<br><br>
<dl><dt><big>static SyscallError <u>create</u>(out ubyte[] <i>ret</i>, CreateArgs* <i>params</i>);
</big></dt>
<dd>Create a memory segment.
<br><br>
<b>Implements:</b><br>
ubyte[] location = <u>create</u>(ubyte* location, ulong size, int mode);<br><br>
</dd>
<dt><big>static SyscallError <u>makeDeviceGib</u>(out bool <i>ret</i>, MakeDeviceGibArgs* <i>params</i>);
</big></dt>
<dd>Creates a segment for a device.
<br><br>
<b>Implements:</b><br>
bool success = <u>makeDeviceGib</u>(ubyte* gib, PhysicalAddress physAddr, ulong regionLength);<br><br>
</dd>
<dt><big>static SyscallError <u>map</u>(MapArgs* <i>params</i>);
</big></dt>
<dd>Maps an existing section of memory to a new location.
<br><br>
<b>Implements:</b><br>
void <u>map</u>(AddressSpace dest, ubyte[] location, ubyte* destination, AccessMode mode);<br><br>
</dd>
<dt><big>static SyscallError <u>createAddressSpace</u>(out AddressSpace <i>ret</i>, CreateAddressSpaceArgs* <i>params</i>);
</big></dt>
<dd>Create an address space for a process.
<br><br>
<b>Implements:</b><br>
AddressSpace space = <u>createAddressSpace</u>();<br><br>
</dd>
<dt><big>static SyscallError <u>yield</u>(YieldArgs* <i>params</i>);
</big></dt>
<dd>Yield the cpu to the given address space.
<br><br>
<b>Implements:</b><br>
void <u>yield</u>(AddressSpace dest, ulong idx);<br><br>
</dd>
</dl>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

109
kernel/core/util.html Normal file
View File

@@ -0,0 +1,109 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.core.util</title>
</head><body>
<h1>kernel.core.util</h1>
<!-- Generated by Ddoc from ../kernel/core/util.d -->
<br><br>
<dl><dt><big>template <u>FieldNames</u>(S,int idx = 0)</big></dt>
<dd>Given a struct type, gives a tuple of strings of the names of fields in the struct.<br><br>
</dd>
<dt><big>template <u>isCharType</u>(T)</big></dt>
<dd>Sees if a type is char, wchar, or dchar.<br><br>
</dd>
<dt><big>template <u>isIntType</u>(T)</big></dt>
<dd>Sees if a type is a signed or unsigned byte, short, int, or long.<br><br>
</dd>
<dt><big>template <u>isUnsignedIntType</u>(T)</big></dt>
<dd>Sees if a type is a signed or unsigned byte, short, int, or long.<br><br>
</dd>
<dt><big>template <u>isSignedIntType</u>(T)</big></dt>
<dd>Sees if a type is a signed or unsigned byte, short, int, or long.<br><br>
</dd>
<dt><big>template <u>isFloatType</u>(T)</big></dt>
<dd>Sees if a type is float, double, or real.<br><br>
</dd>
<dt><big>template <u>isArrayType</u>(T)</big></dt>
<dd>Sees if a type is an array.<br><br>
</dd>
<dt><big>template <u>isAAType</u>(T)</big></dt>
<dd>Sees if a type is an associative array.<br><br>
</dd>
<dt><big>template <u>isPointerType</u>(T)</big></dt>
<dd>Sees if a type is a pointer.<br><br>
</dd>
<dt><big>template <u>realType</u>(T)</big></dt>
<dd>Get to the bottom of any chain of typedefs! Returns the first non-typedef'ed type.<br><br>
</dd>
<dt><big>template <u>IsLower</u>(char c)</big></dt>
<dd>See if a character is a lowercase character.<br><br>
</dd>
<dt><big>template <u>IsUpper</u>(char c)</big></dt>
<dd>See if a character is an uppercase character.<br><br>
</dd>
<dt><big>template <u>ToLower</u>(char c)<br>template <u>ToLower</u>(char[] s)</big></dt>
<dd>Convert a character or string to lowercase.<br><br>
</dd>
<dt><big>template <u>ToUpper</u>(char c)<br>template <u>ToUpper</u>(char[] s)</big></dt>
<dd>Convert a character or string to uppercase.<br><br>
</dd>
<dt><big>template <u>Capitalize</u>(char[] s)</big></dt>
<dd><u>Capitalize</u> a word so that the first letter is capital.<br><br>
</dd>
<dt><big>template <u>Map</u>(alias Templ,List...)</big></dt>
<dd>Compile-time map. Takes a template "function" which should take a single argument
of the type of the elements of the list of values that follows. Resolves to a tuple.<br><br>
</dd>
<dt><big>template <u>Reduce</u>(alias Templ,List...)</big></dt>
<dd>Compile-time reduce. Takes a template "function" that should take two arguments of the type
of the elements of the list of values that follows. The list must be at least one element
long. Resolves to a single value of the type that the template function returns.<br><br>
</dd>
<dt><big>template <u>Range</u>(uint min,uint max)<br>template <u>Range</u>(uint max)</big></dt>
<dd>Compile-time range. Given lower and upper bound, yields a tuple of integers in the
range [min, max).<br><br>
</dd>
<dt><big>template <u>Cat</u>(T...)</big></dt>
<dd>Compile time metafunction meant to be used with Reduce. Concatenates its first two
arguments and resolves to the result of that concatentation.<br><br>
</dd>
<dt><big>char[] <u>itoa</u>(char[] <i>buf</i>, char <i>base</i>, long <i>d</i>);
</big></dt>
<dd>This function converts an integer to a string, depending on the <i>base</i> passed in.
<br><br>
<b>Params:</b><br>
<table><tr><td>char[] <i>buf</i></td>
<td>The function will save the translated string into this character array.</td></tr>
<tr><td>char <i>base</i></td>
<td>The <i>base</i> of the integer value. If "<i>d</i>," it will be assumed to be decimal. If "x," the integer
will be hexadecimal.</td></tr>
<tr><td>long <i>d</i></td>
<td>The integer to translate.</td></tr>
</table><br>
<b>Returns:</b><br>
The translated string in a character array.<br><br>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

132
kernel/dev/console.html Normal file
View File

@@ -0,0 +1,132 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.dev.console</title>
</head><body>
<h1>kernel.dev.console</h1>
<!-- Generated by Ddoc from ../kernel/dev/console.d -->
<br><br>
<dl><dt><big>class <u>Console</u>;
</big></dt>
<dd>This is the <b>true</b> interface to the console driver.<br><br>
<dl><dt><big>static const uint <u>COLUMNS</u>;
</big></dt>
<dd>The number of columns and lines on the screen.<br><br>
</dd>
<dt><big>static const ubyte <u>DEFAULTCOLORS</u>;
</big></dt>
<dd>The default color.<br><br>
</dd>
<dt><big>static const int <u>TABSTOP</u>;
</big></dt>
<dd>The width of a tab<br><br>
</dd>
<dt><big>static void <u>switchToHigherHalfVirtualAddress</u>();
</big></dt>
<dd>Notifies the driver that the kernel moved to high memory, and it should
also move its own references to refer to higher memory.<br><br>
</dd>
<dt><big>static ubyte[] <u>segment</u>();
</big></dt>
<dd>This will yield a reference to the video memory.<br><br>
</dd>
<dt><big>static ErrorVal <u>initialize</u>();
</big></dt>
<dd>This will <u>initialize</u> the console driver.<br><br>
</dd>
<dt><big>static long <u>getGlobalY</u>();
</big></dt>
<dd>Returns the current y coordinate of the cursor.<br><br>
</dd>
<dt><big>static void <u>getPosition</u>(out int <i>x</i>, out int <i>y</i>);
</big></dt>
<dd>This method will return the current location of the cursor.<br><br>
</dd>
<dt><big>static synchronized void <u>setPosition</u>(int <i>x</i>, int <i>y</i>);
</big></dt>
<dd>This method will set the current location of the cursor to the <i>x</i> and <i>y</i> given.<br><br>
</dd>
<dt><big>static synchronized void <u>putChar</u>(char <i>c</i>);
</big></dt>
<dd>This method will post the character to the screen at the current location.<br><br>
</dd>
<dt><big>static synchronized void <u>putString</u>(char[] <i>s</i>);
</big></dt>
<dd>This mehtod will post a string to the screen at the current location.<br><br>
</dd>
<dt><big>static void <u>resetColors</u>();
</big></dt>
<dd>This function sets the console colors back to their defaults.<br><br>
</dd>
<dt><big>static void <u>setForeColor</u>(Color <i>newColor</i>);
</big></dt>
<dd>This function will set the text foreground to a new color.<br><br>
</dd>
<dt><big>static void <u>setBackColor</u>(Color <i>newColor</i>);
</big></dt>
<dd>This function will set the text background to a new color.<br><br>
</dd>
<dt><big>static void <u>setColors</u>(Color <i>foreColor</i>, Color <i>backColor</i>);
</big></dt>
<dd>This function will set both the foreground and background colors.<br><br>
</dd>
<dt><big>static synchronized void <u>scrollDisplay</u>(uint <i>numLines</i>);
</big></dt>
<dd>This function will scroll the display the given number of lines.
<br><br>
<b>Params:</b><br>
<table><tr><td>uint <i>numLines</i></td>
<td>The number of lines to scroll the display up.</td></tr>
</table><br>
</dd>
<dt><big>static uint <u>width</u>();
</big></dt>
<dd>This function will return the <u>width</u> of the console in characters.
<br><br>
<b>Returns:</b><br>
The number of columns the console can display.<br><br>
</dd>
<dt><big>static uint <u>height</u>();
</big></dt>
<dd>This function will return the <u>height</u> of the console in characters.
<br><br>
<b>Returns:</b><br>
The number of rows the console can display.<br><br>
</dd>
<dt><big>static void <u>putCharUnsafe</u>(char <i>foo</i>);
</big></dt>
<dd>This function will print a character at the current location without
locking. It may not print in order.<br><br>
</dd>
<dt><big>static void <u>putStringUnsafe</u>(char[] <i>foo</i>);
</big></dt>
<dd>This function will print a string at the current location without
locking. It may not print in order or even interleave characters
with other strings.<br><br>
</dd>
</dl>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

31
kernel/dev/keyboard.html Normal file
View File

@@ -0,0 +1,31 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.dev.keyboard</title>
</head><body>
<h1>kernel.dev.keyboard</h1>
<!-- Generated by Ddoc from ../kernel/dev/keyboard.d -->
<br><br>
<dl><dt><big>class <u>Keyboard</u>;
</big></dt>
<dd>The kernel interface to the keyboard.<br><br>
<dl><dt><big>static ErrorVal <u>initialize</u>();
</big></dt>
<dd>Initializes the keyboard.
<br><br>
<b>Returns:</b><br>
ErrorVal.Success when the keyboard is properly initialized.
ErrorVal.Fail otherwise.<br><br>
</dd>
<dt><big>static ubyte[] <u>segment</u>();
</big></dt>
<dd>This function returns a reference to the keyboard memory.<br><br>
</dd>
</dl>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

10
kernel/dev/pci.html Normal file
View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.dev.pci</title>
</head><body>
<h1>kernel.dev.pci</h1>
<!-- Generated by Ddoc from ../kernel/dev/pci.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

10
kernel/dev/vga.html Normal file
View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.dev.vga</title>
</head><body>
<h1>kernel.dev.vga</h1>
<!-- Generated by Ddoc from ../kernel/dev/vga.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

10
kernel/mem/bitmap.html Normal file
View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.mem.bitmap</title>
</head><body>
<h1>kernel.mem.bitmap</h1>
<!-- Generated by Ddoc from ../kernel/mem/bitmap.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.mem.pageallocator</title>
</head><body>
<h1>kernel.mem.pageallocator</h1>
<!-- Generated by Ddoc from ../kernel/mem/pageallocator.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,45 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.core.dstubs</title>
</head><body>
<h1>kernel.core.dstubs</h1>
<!-- Generated by Ddoc from ../kernel/runtime/dstubs.d -->
<br><br>
<dl><dt><big>void <u>_d_monitorenter</u>(Object <i>h</i>);
</big></dt>
<dd><br><br>
</dd>
<dt><big>void <u>abort</u>();
</big></dt>
<dd>Random stubs (they'll go somewhere eventually)<br><br>
</dd>
<dt><big>Object <u>_d_toObject</u>(void* <i>p</i>);
</big></dt>
<dd>Given a pointer:
If it is an Object, return that Object.
If it is an interface, return the Object implementing the interface.
If it is <b>null</b>, return <b>null</b>.
Else, undefined crash<br><br>
</dd>
<dt><big>Object <u>_d_interface_cast</u>(void* <i>p</i>, ClassInfo <i>c</i>);
</big></dt>
<dd>Attempts to cast Object o to class <i>c</i>.
Returns o if successful, <b>null</b> if not.<br><br>
</dd>
<dt><big>void* <u>_d_interface_vtbl</u>(ClassInfo <i>ic</i>, Object <i>o</i>);
</big></dt>
<dd>Find the vtbl[] associated with Interface <i>ic</i>.<br><br>
</dd>
<dt><big>void <u>_d_assert</u>(char[] <i>file</i>, uint <i>line</i>);
</big></dt>
<dd>Exception stubs<br><br>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,28 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>gcc.builtins</title>
</head><body>
<h1>gcc.builtins</h1>
<!-- Generated by Ddoc from ../kernel/runtime/gcc/builtins.d -->
Declarations are automatically created by the compiler. All
declarations start with "_builtin_". Refer to builtins.def in the
GCC source for a list of functions. Not all of the functions are
supported.
<br><br>
In addition to built-in functions, the following types are defined.
<br><br>
<table> <tr><td>__builtin_va_list</td> <td>The target's va_list type </td></tr>
<tr><td>__builtin_Clong </td> <td>The D equivalent of the target's
C "long" type </td></tr>
<tr><td>__builtin_Culong </td> <td>The D equivalent of the target's
C "unsigned long" type </td></tr>
<tr><td>__builtin_machine_int </td> <td>Signed word-sized integer </td></tr>
<tr><td>__builtin_machine_uint</td> <td>Unsigned word-sized integer </td></tr>
<tr><td>__builtin_pointer_int </td> <td>Signed pointer-sized integer </td></tr>
<tr><td>__builtin_pointer_uint</td> <td>Unsigned pointer-sized integer </td></tr>
</table><br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.runtime.precision</title>
</head><body>
<h1>kernel.runtime.precision</h1>
<!-- Generated by Ddoc from ../kernel/runtime/precision.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,162 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.intrinsic</title>
</head><body>
<h1>std.intrinsic</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/intrinsic.d -->
These functions are built-in intrinsics to the compiler.
<br><br>
Intrinsic functions are functions built in to the compiler,
usually to take advantage of specific CPU features that
are inefficient to handle via external functions.
The compiler's optimizer and code generator are fully
integrated in with <u>intrinsic</u> functions, bringing to bear
their full power on them.
This can result in some surprising speedups.
<br><br>
<dl><dt><big>int <u>bsf</u>(uint <i>v</i>);
</big></dt>
<dd>Scans the bits in <i>v</i> starting with bit 0, looking
for the first set bit.
<br><br>
<b>Returns:</b><br>
The bit number of the first bit set.
The return value is undefined if <i>v</i> is zero.<br><br>
</dd>
<dt><big>int <u>bsr</u>(uint <i>v</i>);
</big></dt>
<dd>Scans the bits in <i>v</i> from the most significant bit
to the least significant bit, looking
for the first set bit.
<br><br>
<b>Returns:</b><br>
The bit number of the first bit set.
The return value is undefined if <i>v</i> is zero.
<br><br>
<b>Example:</b><br>
<pre class="d_code"> <font color=blue>import</font> std.intrinsic;
<font color=blue>int</font> main()
{
<font color=blue>uint</font> <i>v</i>;
<font color=blue>int</font> x;
<i>v</i> = 0x21;
x = bsf(<i>v</i>);
printf(<font color=red>"bsf(x%x) = %d\n"</font>, <i>v</i>, x);
x = <u>bsr</u>(<i>v</i>);
printf(<font color=red>"bsr(x%x) = %d\n"</font>, <i>v</i>, x);
<font color=blue>return</font> 0;
}
</pre>
<br><br>
<b>Output:</b><br>
bsf(x21) = 0<br>
<u>bsr</u>(x21) = 5<br><br>
</dd>
<dt><big>int <u>bt</u>(uint* <i>p</i>, uint <i>bitnum</i>);
</big></dt>
<dd>Tests the bit.<br><br>
</dd>
<dt><big>int <u>btc</u>(uint* <i>p</i>, uint <i>bitnum</i>);
</big></dt>
<dd>Tests and complements the bit.<br><br>
</dd>
<dt><big>int <u>btr</u>(uint* <i>p</i>, uint <i>bitnum</i>);
</big></dt>
<dd>Tests and resets (sets to 0) the bit.<br><br>
</dd>
<dt><big>int <u>bts</u>(uint* <i>p</i>, uint <i>bitnum</i>);
</big></dt>
<dd>Tests and sets the bit.
<br><br>
<b>Params:</b><br>
<table><tr><td>uint* <i>p</i></td>
<td>a non-NULL pointer to an array of uints.</td></tr>
<tr><td>index</td>
<td>a bit number, starting with bit 0 of <i>p</i>[0],
and progressing. It addresses bits like the expression:
<pre class="d_code"><i>p</i>[index / (<font color=blue>uint</font>.sizeof*8)] &amp; (1 &lt;&lt; (index &amp; ((<font color=blue>uint</font>.sizeof*8) - 1)))
</pre>
</td></tr>
</table><br>
<b>Returns:</b><br>
A non-zero value if the bit was set, and a zero
if it was clear.
<br><br>
<b>Example:</b><br>
<pre class="d_code"><font color=blue>import</font> std.intrinsic;
<font color=blue>int</font> main()
{
<font color=blue>uint</font> array[2];
array[0] = 2;
array[1] = 0x100;
printf(<font color=red>"btc(array, 35) = %d\n"</font>, &lt;b&gt;btc&lt;/b&gt;(array, 35));
printf(<font color=red>"array = [0]:x%x, [1]:x%x\n"</font>, array[0], array[1]);
printf(<font color=red>"btc(array, 35) = %d\n"</font>, &lt;b&gt;btc&lt;/b&gt;(array, 35));
printf(<font color=red>"array = [0]:x%x, [1]:x%x\n"</font>, array[0], array[1]);
printf(<font color=red>"bts(array, 35) = %d\n"</font>, &lt;b&gt;<u>bts</u>&lt;/b&gt;(array, 35));
printf(<font color=red>"array = [0]:x%x, [1]:x%x\n"</font>, array[0], array[1]);
printf(<font color=red>"btr(array, 35) = %d\n"</font>, &lt;b&gt;btr&lt;/b&gt;(array, 35));
printf(<font color=red>"array = [0]:x%x, [1]:x%x\n"</font>, array[0], array[1]);
printf(<font color=red>"bt(array, 1) = %d\n"</font>, &lt;b&gt;bt&lt;/b&gt;(array, 1));
printf(<font color=red>"array = [0]:x%x, [1]:x%x\n"</font>, array[0], array[1]);
<font color=blue>return</font> 0;
}
</pre>
<br><br>
<b>Output:</b><br>
<pre>
btc(array, 35) = 0
array = [0]:x2, [1]:x108
btc(array, 35) = -1
array = [0]:x2, [1]:x100
<u>bts</u>(array, 35) = 0
array = [0]:x2, [1]:x108
btr(array, 35) = -1
array = [0]:x2, [1]:x100
bt(array, 1) = -1
array = [0]:x2, [1]:x100
</pre><br><br>
</dd>
<dt><big>uint <u>bswap</u>(uint <i>v</i>);
</big></dt>
<dd>Swaps bytes in a 4 byte uint end-to-end, i.e. byte 0 becomes
byte 3, byte 1 becomes byte 2, byte 2 becomes byte 1, byte 3
becomes byte 0.<br><br>
</dd>
<dt><big>ubyte <u>inp</u>(uint <i>port_address</i>);
<br>ushort <u>inpw</u>(uint <i>port_address</i>);
<br>uint <u>inpl</u>(uint <i>port_address</i>);
</big></dt>
<dd>Reads I/O port at <i>port_address</i>.<br><br>
</dd>
<dt><big>ubyte <u>outp</u>(uint <i>port_address</i>, ubyte <i>value</i>);
<br>ushort <u>outpw</u>(uint <i>port_address</i>, ushort <i>value</i>);
<br>uint <u>outpl</u>(uint <i>port_address</i>, uint <i>value</i>);
</big></dt>
<dd>Writes and returns <i>value</i> to I/O port at <i>port_address</i>.<br><br>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,31 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.moduleinit</title>
</head><body>
<h1>std.moduleinit</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/moduleinit.d -->
<br><br>
<dl><dt><big>void <u>_moduleCtor</u>();
</big></dt>
<dd>Initialize the modules.<br><br>
</dd>
<dt><big>void <u>_moduleDtor</u>();
</big></dt>
<dd>Destruct the modules.<br><br>
</dd>
<dt><big>void <u>_moduleUnitTests</u>();
</big></dt>
<dd>Run unit tests.<br><br>
</dd>
<dt><big>void <u>_moduleIndependentCtors</u>();
</big></dt>
<dd>Run unit tests.<br><br>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_AC</title>
</head><body>
<h1>std.typeinfo.ti_AC</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_AC.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_Ag</title>
</head><body>
<h1>std.typeinfo.ti_Ag</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_Ag.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_Aint</title>
</head><body>
<h1>std.typeinfo.ti_Aint</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_Aint.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_Along</title>
</head><body>
<h1>std.typeinfo.ti_Along</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_Along.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_Ashort</title>
</head><body>
<h1>std.typeinfo.ti_Ashort</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_Ashort.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_C</title>
</head><body>
<h1>std.typeinfo.ti_C</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_C.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_byte</title>
</head><body>
<h1>std.typeinfo.ti_byte</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_byte.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_cdouble</title>
</head><body>
<h1>std.typeinfo.ti_cdouble</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_cdouble.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_cfloat</title>
</head><body>
<h1>std.typeinfo.ti_cfloat</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_cfloat.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_char</title>
</head><body>
<h1>std.typeinfo.ti_char</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_char.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_creal</title>
</head><body>
<h1>std.typeinfo.ti_creal</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_creal.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_dchar</title>
</head><body>
<h1>std.typeinfo.ti_dchar</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_dchar.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_delegate</title>
</head><body>
<h1>std.typeinfo.ti_delegate</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_delegate.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_double</title>
</head><body>
<h1>std.typeinfo.ti_double</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_double.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_float</title>
</head><body>
<h1>std.typeinfo.ti_float</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_float.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_int</title>
</head><body>
<h1>std.typeinfo.ti_int</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_int.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_long</title>
</head><body>
<h1>std.typeinfo.ti_long</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_long.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_ptr</title>
</head><body>
<h1>std.typeinfo.ti_ptr</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_ptr.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_real</title>
</head><body>
<h1>std.typeinfo.ti_real</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_real.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_short</title>
</head><body>
<h1>std.typeinfo.ti_short</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_short.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_ubyte</title>
</head><body>
<h1>std.typeinfo.ti_ubyte</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_ubyte.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_uint</title>
</head><body>
<h1>std.typeinfo.ti_uint</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_uint.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_ulong</title>
</head><body>
<h1>std.typeinfo.ti_ulong</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_ulong.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_ushort</title>
</head><body>
<h1>std.typeinfo.ti_ushort</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_ushort.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_void</title>
</head><body>
<h1>std.typeinfo.ti_void</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_void.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,10 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>std.typeinfo.ti_wchar</title>
</head><body>
<h1>std.typeinfo.ti_wchar</h1>
<!-- Generated by Ddoc from ../kernel/runtime/std/typeinfo/ti_wchar.d -->
<br><br>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

116
kernel/runtime/util.html Normal file
View File

@@ -0,0 +1,116 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.runtime.util</title>
</head><body>
<h1>kernel.runtime.util</h1>
<!-- Generated by Ddoc from ../kernel/runtime/util.d -->
<br><br>
<dl><dt><big>char[] <u>itoa</u>(char[] <i>buf</i>, char <i>base</i>, long <i>d</i>);
</big></dt>
<dd>This function converts an integer to a string, depending on the <i>base</i> passed in.
<br><br>
<b>Params:</b><br>
<table><tr><td>char[] <i>buf</i></td>
<td>The function will save the translated string into this character array.</td></tr>
<tr><td>char <i>base</i></td>
<td>The <i>base</i> of the integer value. If "<i>d</i>," it will be assumed to be decimal. If "x," the integer
will be hexadecimal.</td></tr>
<tr><td>long <i>d</i></td>
<td>The integer to translate.</td></tr>
</table><br>
<b>Returns:</b><br>
The translated string in a character array.<br><br>
</dd>
<dt><big>void* <u>memcpy</u>(void* <i>dest</i>, void* <i>src</i>, size_t <i>count</i>);
</big></dt>
<dd>This function copies data from a source piece of memory to a destination piece of memory.
<br><br>
<b>Params:</b><br>
<table><tr><td>void* <i>dest</i></td>
<td>A pointer to the piece of memory serving as the copy destination.</td></tr>
<tr><td>void* <i>src</i></td>
<td>A pointer to the piece of memory serving as the copy source.</td></tr>
<tr><td>size_t <i>count</i></td>
<td>The number of bytes to copy form <i>src</i> to <i>dest</i>.</td></tr>
</table><br>
<b>Returns:</b><br>
A void pointer to the start of the destination data (<i>dest</i>).<br><br>
</dd>
<dt><big>void* <u>memmove</u>(void* <i>dest</i>, void* <i>src</i>, size_t <i>count</i>);
</big></dt>
<dd>Memcpy and <u>memmove</u> only really have differences at the user level, where they have slightly
different semantics. Here, they're the same.<br><br>
</dd>
<dt><big>int <u>memcmp</u>(void* <i>a</i>, void* <i>b</i>, size_t <i>n</i>);
</big></dt>
<dd>Compare two blocks of memory.
<br><br>
<b>Params:</b><br>
<table><tr><td>void* <i>a</i></td>
<td>Pointer to the first block.</td></tr>
<tr><td>void* <i>b</i></td>
<td>Pointer to the second block.</td></tr>
<tr><td>size_t <i>n</i></td>
<td>The number of bytes to compare.</td></tr>
</table><br>
<b>Returns:</b><br>
0 if they are equal, &lt; 0 if <i>a</i> is less than <i>b</i>, and &gt; 0 if <i>a</i> is greater than <i>b</i>.<br><br>
</dd>
<dt><big>void <u>memset</u>(void* <i>addr</i>, int <i>val</i>, uint <i>numBytes</i>);
</big></dt>
<dd>This function sets a particular piece of memory to a particular value.
<br><br>
<b>Params:</b><br>
<table><tr><td>void* <i>addr</i></td>
<td>The address of the piece of memory you wish to write.</td></tr>
<tr><td>int <i>val</i></td>
<td>The value you wish to write to memory.</td></tr>
<tr><td>uint <i>numBytes</i></td>
<td>The number of bytes you would like to write to memory.</td></tr>
</table><br>
</dd>
<dt><big>size_t <u>strlen</u>(char* <i>s</i>);
</big></dt>
<dd>This function determines the size of a passed-in string.
<br><br>
<b>Params:</b><br>
<table><tr><td>char* <i>s</i></td>
<td>A pointer to the beginning of a character array, declaring a string.</td></tr>
</table><br>
<b>Returns:</b><br>
The size of the string in size_t format.<br><br>
</dd>
<dt><big>char[] <u>toString</u>(char* <i>s</i>);
</big></dt>
<dd>This function takes in a character pointer and returns a character array, or a string.
<br><br>
<b>Params:</b><br>
<table><tr><td>char* <i>s</i></td>
<td>A pointer to the character(<i>s</i>) you wish to translate to a string.</td></tr>
</table><br>
<b>Returns:</b><br>
A character array (string) containing the information.<br><br>
</dd>
<dt><big>int <u>isnan</u>(real <i>e</i>);
</big></dt>
<dd>This function checks to see if a floating point number is a NaN.
<br><br>
<b>Params:</b><br>
<table><tr><td>real <i>e</i></td>
<td>The value / piece of information you would like to check for number status.</td></tr>
</table><br>
<b>Returns:</b><br>
0 if it isn't a NaN, non-zero if it is.<br><br>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,38 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.system.bootinfo</title>
</head><body>
<h1>kernel.system.bootinfo</h1>
<!-- Generated by Ddoc from ../kernel/system/bootinfo.d -->
<br><br>
<dl><dt><big>struct <u>BootInfo</u>;
</big></dt>
<dd>This structure will handle all requests to the information given
by the bootloader. It makes no assumptions about which bootloader
is actually used by the system.<br><br>
<dl><dt><big>enum <u>Type</u>;
</big></dt>
<dd>All of the types of boot loader specifications in use, so we
*can* make assumptions sometimes.<br><br>
</dd>
<dt><big>static ErrorVal <u>initialize</u>(int <i>bootLoaderID</i>, void* <i>data</i>);
</big></dt>
<dd>This function takes in the parameters passed to kmain.
It will pass it off to the correct module for utilization.
<br><br>
<b>Params:</b><br>
<table><tr><td>int <i>bootLoaderID</i></td>
<td>the id the bootloader passes to identify itself.</td></tr>
<tr><td>void* <i>data</i></td>
<td>the payload point the bootloader passes with system info.</td></tr>
</table><br>
</dd>
</dl>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,126 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.system.definitions</title>
</head><body>
<h1>kernel.system.definitions</h1>
<!-- Generated by Ddoc from ../kernel/system/definitions.d -->
<br><br>
<dl><dt><big>struct <u>Memory</u>;
</big></dt>
<dd>This structure keeps track of information pertaining to onboard memory.<br><br>
<dl><dt><big>ulong <u>length</u>;
</big></dt>
<dd>The size of the RAM.<br><br>
</dd>
<dt><big>void* <u>virtualStart</u>;
</big></dt>
<dd>The Virtual location of RAM.<br><br>
</dd>
</dl>
</dd>
<dt><big>struct <u>Module</u>;
</big></dt>
<dd>This structure keeps track of modules loaded alongside the kernel.<br><br>
<dl><dt><big>PhysicalAddress <u>start</u>;
</big></dt>
<dd>The physical location of the module.<br><br>
</dd>
<dt><big>ulong <u>length</u>;
</big></dt>
<dd>The <u>length</u> of the module.<br><br>
</dd>
<dt><big>char[] <u>name</u>;
</big></dt>
<dd>The <u>name</u> of the module, if given.<br><br>
</dd>
<dt><big>char[] <u>path</u>;
</big></dt>
<dd>The <u>path</u> to this module on the file system.<br><br>
</dd>
</dl>
</dd>
<dt><big>enum <u>RegionType</u>;
</big></dt>
<dd>This enum is for the Region structure
It contains human-read information about the type of region.<br><br>
<dl><dt><big><u>Reserved</u></big></dt>
<dd>The region is special reserved data from the BIOS<br><br>
</dd>
<dt><big><u>Kernel</u></big></dt>
<dd>This signifies that this region is the kernel<br><br>
</dd>
</dl>
</dd>
<dt><big>struct <u>Region</u>;
</big></dt>
<dd>This structure keeps track of special memory regions.<br><br>
<dl><dt><big>PhysicalAddress <u>start</u>;
</big></dt>
<dd>The location and length of the region<br><br>
</dd>
<dt><big>ubyte* <u>virtualStart</u>;
</big></dt>
<dd>The virtual location of the region<br><br>
</dd>
<dt><big>RegionType <u>type</u>;
</big></dt>
<dd>The <u>type</u> of region. See above for a list of values.<br><br>
</dd>
</dl>
</dd>
<dt><big>struct <u>Disk</u>;
</big></dt>
<dd>This structure keeps information about the disks found in the system.<br><br>
<dl><dt><big>ulong <u>number</u>;
</big></dt>
<dd>Some identifing <u>number</u> for the drive, as reported by the system.<br><br>
</dd>
<dt><big>ulong <u>cylinders</u>;
</big></dt>
<dd>Typical information about a mechanical hard disk.<br><br>
</dd>
<dt><big>uint <u>numPorts</u>;
</big></dt>
<dd>The ports used to communicate with the disk, if any.<br><br>
</dd>
</dl>
</dd>
<dt><big>struct <u>Processor</u>;
</big></dt>
<dd>This structure stores information about the processors available
in the system.<br><br>
</dd>
<dt><big>struct <u>Cache</u>;
</big></dt>
<dd>This structure stores information about processor caches available.<br><br>
</dd>
<dt><big>struct <u>Device</u>;
</big></dt>
<dd>This structure stores information about known devices on the system.<br><br>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

59
kernel/system/info.html Normal file
View File

@@ -0,0 +1,59 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.system.info</title>
</head><body>
<h1>kernel.system.info</h1>
<!-- Generated by Ddoc from ../kernel/system/info.d -->
<br><br>
<dl><dt><big>struct <u>System</u>;
</big></dt>
<dd>This structure holds information about the system.<br><br>
<dl><dt><big>static Memory <u>memory</u>;
</big></dt>
<dd>The information about RAM.<br><br>
</dd>
<dt><big>static Region <u>kernel</u>;
</big></dt>
<dd>This region is specifically the <u>kernel</u> memory.<br><br>
</dd>
<dt><big>static uint <u>numRegions</u>;
</big></dt>
<dd>Information about specific memory regions.<br><br>
</dd>
<dt><big>static uint <u>numModules</u>;
</big></dt>
<dd>Information about modules that have been loaded
during the boot process.<br><br>
</dd>
<dt><big>static uint <u>numDisks</u>;
</big></dt>
<dd>Information about disks available to the system.<br><br>
</dd>
<dt><big>static uint <u>numProcessors</u>;
</big></dt>
<dd>Information about each processor available.<br><br>
</dd>
<dt><big>static uint <u>numDevices</u>;
</big></dt>
<dd>Information about generic devices available on the system.<br><br>
</dd>
<dt><big>static char[128LU] <u>cmdlineStorage</u>;
</big></dt>
<dd>Information about how the kernel was invoked by the bootloader.
This generally contains command line arguments from GRUB, for instance.<br><br>
</dd>
</dl>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

View File

@@ -0,0 +1,18 @@
<html><head>
<META http-equiv="content-type" content="text/html; charset=utf-8">
<title>kernel.system.multiboot</title>
</head><body>
<h1>kernel.system.multiboot</h1>
<!-- Generated by Ddoc from ../kernel/system/multiboot.d -->
<br><br>
<dl><dt><big>const int <u>MULTIBOOT_HEADER_MAGIC</u>;
</big></dt>
<dd>These two magic numbers are
defined in the multiboot spec, we use them
to verify that our environment is sane.<br><br>
</dd>
</dl>
<hr><small>Page generated by <a href="http://www.digitalmars.com/d/1.0/ddoc.html">Ddoc</a>. </small>
</body></html>

14
makeindex Executable file
View File

@@ -0,0 +1,14 @@
#!/bin/sh
rm -f index.html
rm -f index.tmp
echo "<html><head><title>XOmB Kernel Code Documentation</title></head><body><ul>" > index.tmp
for item in `find -name *.html`;
do
echo "<li><a href='${item:2}'>${item:2}</a></li>" >> index.tmp
done
echo "</ul></body></html>" >> index.tmp
mv index.tmp index.html