Cleaning up some misc files
authorJohn Hodge <[email protected]>
Wed, 25 Aug 2010 12:42:31 +0000 (20:42 +0800)
committerJohn Hodge <[email protected]>
Wed, 25 Aug 2010 12:42:31 +0000 (20:42 +0800)
.gitignore
Design Notes/AcessFS.txt [new file with mode: 0644]
Design Notes/Spinlocks.txt [new file with mode: 0644]
Design Notes/VTerm.txt [new file with mode: 0644]
Kernel/Makefile.BuildNum.x86_64 [new file with mode: 0644]
Modules/Interfaces/UDI/Notes.txt [new file with mode: 0644]

index 1edda84..aeb9069 100644 (file)
@@ -15,5 +15,9 @@
 *.dmp
 *.kmd.*
 Map*.txt
+Doxylog*.txt
+LineCounts.*.txt
 bochs*.txt
 serial.txt
+*.gz
+*.img
diff --git a/Design Notes/AcessFS.txt b/Design Notes/AcessFS.txt
new file mode 100644 (file)
index 0000000..7c74beb
--- /dev/null
@@ -0,0 +1,54 @@
+Acess File System
+- Database Design
+
+== Data Strutures ==
+Blocks are of a size specified in the superblock
+- Superblock
+ > Fixed offset: 1024 bytes
+- Field Table
+ > Offset set in superblock
+- Index Table
+- Inode Table
+
+=== Superblock ===
+struct sSuperblock {
+       Uint8   Magic[4];       // == '\xACFS'+Version
+       Uint8   BlockSize;      // TrueSize = 2^(7+BlockSize)
+};
+
+=== Field Table ===
+struct sFieldTableEntry {
+       Uint16  Ident;
+       Uint8   Type;
+       Uint8   Length;
+       char    Text[];
+} FieldTable[SuperBlock.NFields];
+
+=== Index Table ==
+struct sIndexTableEntry {
+       Uint16  Field;
+       Uint16  CheckSum;
+       Uint32  Block;
+} IndexTable[SuperBlock.NFields];
+
+=== Index Table entry ==
+struct {
+       Uint32  NumEntries;
+       Uint32  Links[];
+};
+
+=== Inode Table ===
+struct sInodeTable {
+       
+};
+
+=== Inode ===
+struct sInodeEntry {
+       Uint16  Name;
+       Uint8   Size;
+       Uint8   Checksum;
+       Uint8   data[];
+};
+
+Each `sInodeEntry` defines an entry in a "database"
+
diff --git a/Design Notes/Spinlocks.txt b/Design Notes/Spinlocks.txt
new file mode 100644 (file)
index 0000000..b4f6b84
--- /dev/null
@@ -0,0 +1,26 @@
+SHORTLOCK()
+       cli; lock cmpxchg
+SHORTREL()
+       lock and ; sti
+
+
+LONGLOCK()
+       mov eax, 1
+       lock cmpxchg lock.lock, eax
+       if(eax) {
+               SHORTLOCK(lock.listLock)
+               // add to list (linked list, 4 static entries)
+               SHORTREL(lock.listLock)
+               for(;;)
+               {
+                       check owner
+                       mov eax, 1
+                       lock cmpxchg lock.lock, eax
+                       if(!eax)        break;  // got lock
+                       Threads_Sleep();
+               }
+       }
+
+LONGREL()
+       lock and lock.lock, 0
+       pop off front of list, free entry, wake thread
diff --git a/Design Notes/VTerm.txt b/Design Notes/VTerm.txt
new file mode 100644 (file)
index 0000000..6173108
--- /dev/null
@@ -0,0 +1,53 @@
+
+== Read ==
+- UTF-8 / UCS-4 Character Stream
+ > Selected with mode call
+
+== Write ==
+UTF-8 Emulation Text Mode:
+- Emuates a character device
+ > VT-100/ANSI Control Codes
+ > Characters/Symbols are sent as UTF-8
+
+/*
+Native Text Mode:
+- NxM 64-bit entries
+ > UCS-32 Codepoint (if a diacritic is encountered, the previous character is modified)
+ > 12-bit (16 encoded) Foreground
+ > 12-bit (16 encoded) Background
+*/
+
+Framebuffer Graphics:
+- WxH 32-bit (3x 8-bit channels) framebuffer
+- Write to entire framebuffer
+
+Accellerated Graphics:
+- Command Stream
+ > Each Node.Write call is a single command
+ + NOP (-)
+ + Direct (Uint16 X, Y, W, H, Uint32 Data[])
+ + Blit (Uint16 W, H, SrcX, SrxY, DstX, DstY, Uint32 Data[])
+ + Fill (Uint16 X, Y, W, H)
+ + Rect (Uint16 X, Y, W, H)
+ + Line (Uint16 X, Y, W, H)
+ + Text (Uint16 X, Y, Size, Font)
+ + ShowTile (Uint16 ID, Uint16 X, Y)
+ + DelTile (Uint16 ID)
+- Extra IOCtls
+ + int LoadFont(char *Path)
+ + UnloadFont(int *ID)
+ + int MakeTile(struct {Uint16 W, H, Uint32 Data[]} *Img)
+ + DelTile(int *ID)
+- Allow fast switch between Accel/Framebuffer?
+- Min Reqd Tile Size 32x32
+ > Tiles should be driver emulated if unavaliable by hardware
+3D Graphics: (Can be emulated if not avaliable, or just denied)
+- Command Stream
+ >
+ + NOP (-)
+ + FlipBuffer (-)
+ + LoadTexture(Uint16 ID, W, H, Uint32 Data[])
+ + UnloadTexture(Uint16 ID)
+ + SetTexture(Uint16 ID)
+ + Triangle (Uint16 Texture, Uint32[3+3+2][3])
diff --git a/Kernel/Makefile.BuildNum.x86_64 b/Kernel/Makefile.BuildNum.x86_64
new file mode 100644 (file)
index 0000000..ded6000
--- /dev/null
@@ -0,0 +1 @@
+BUILD_NUM = 208
diff --git a/Modules/Interfaces/UDI/Notes.txt b/Modules/Interfaces/UDI/Notes.txt
new file mode 100644 (file)
index 0000000..1e2e9d4
--- /dev/null
@@ -0,0 +1,36 @@
+
+<Love4Boobies> logical volume metalanguage - for file system drivers to use, network protocol 
+               metalanguage and audio support
+<Love4Boobies> madeofstaples expressed his interest in reviewing the OpenUSBDI specification to update 
+               it for USB 3.0
+
+
+=== Initialisation ===
+udi_init_t
+ > udi_init_info
+ > This is the only defined symbol in a UDI driver
+
+udi_primary_init_t
+- UDI_MAX_SCRATCH
+- UDI_OP_LONG_EXEC
+
+udi_secondary_init_t
+
+udi_ops_init_t
+
+udi_cb_init_t
+
+udi_cb_select_t
+
+udi_gcb_init_t
+
+udi_init_context_t
+
+udi_limits_t
+- UDI_MIN_ALLOC_LIMIT
+- UDI_MIN_TRACE_LOG_LIMIT
+- UDI_MIN_INSTANCE_ATTR_LIMIT
+
+udi_chan_context_t
+
+udi_child_chan_context_t

UCC git Repository :: git.ucc.asn.au