From: John Hodge Date: Wed, 25 Aug 2010 12:42:31 +0000 (+0800) Subject: Cleaning up some misc files X-Git-Tag: rel0.06~42 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=4d04d710e6d90ac28524925859a7ef621c675bcb;p=tpg%2Facess2.git Cleaning up some misc files --- diff --git a/.gitignore b/.gitignore index 1edda841..aeb90690 100644 --- a/.gitignore +++ b/.gitignore @@ -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 index 00000000..7c74bebd --- /dev/null +++ b/Design Notes/AcessFS.txt @@ -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 index 00000000..b4f6b84c --- /dev/null +++ b/Design Notes/Spinlocks.txt @@ -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 index 00000000..6173108b --- /dev/null +++ b/Design Notes/VTerm.txt @@ -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 index 00000000..ded60004 --- /dev/null +++ b/Kernel/Makefile.BuildNum.x86_64 @@ -0,0 +1 @@ +BUILD_NUM = 208 diff --git a/Modules/Interfaces/UDI/Notes.txt b/Modules/Interfaces/UDI/Notes.txt new file mode 100644 index 00000000..1e2e9d45 --- /dev/null +++ b/Modules/Interfaces/UDI/Notes.txt @@ -0,0 +1,36 @@ + + logical volume metalanguage - for file system drivers to use, network protocol + metalanguage and audio support + 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