L3 Documentation
Marion Schalm, Jean Wolter, Michael Hohmuth
TU Dresden, Dept. of Computer Science, OS Group
Contents
1 L3 types
2 L3 IPC
2.1 IPC Overview
2.2 IPC Parameters
2.2.1 Parameters of IPC
2.2.2 Message structure
2.2.3 Results
2.2.4 V3 - V2 IPC
2.2.5 V2 versus V3 ID-s
2.3 IPC C-Library
2.3.1 Parameters
2.3.2 Call
2.3.3 ReplyAndWait
2.3.4 Send
2.3.5 Receive
2.3.6 Wait
2.4 Kernel Interface
3 Virtual Memory Management
3.1 Overview
3.1.1 Address Spaces
3.1.2 Data Spaces
3.1.3 Memory Managers
3.2 C Bindings for System Calls Related to Data Spaces
3.2.1 Fill Map Vector
3.2.2 Map Region
3.2.3 Copy Data
3.2.4 Next Data Space
3.2.5 Nilspace
3.2.6 Associated Data Space
3.2.7 Copy Pages
3.2.8 Pages
3.2.9 Delete Pages
3.2.10 Delete, Exists
3.2.11 Exists
3.2.12 Move
3.2.13 Next
3.2.14 Next Page
3.2.15 Dataspaces
3.2.16 Copy Pages
3.2.17 Index
3.2.18 Storage
3.2.19 Type
3.3 Low-level Kernel Interface
4 L3 System Calls
5 SV protocol
5.1 SV Overview
5.2 Supervisorprotocol
5.3 SV C-Library
5.3.1 Parameters of SV C-Library
5.3.2 Functions of SVCL
6 External Pager Protocol
6.1 Overview
6.2 Page Fault Protocol
6.3 General Pager Protocol
6.4 C - Library
7 General Driver Protocol
7.1 Preliminaries
7.1.1 Purpose of this Document
7.1.2 Related Documents
7.1.3 Method of Description
7.2 The General Driver Protocol
7.2.1 Orders and Replies
7.2.2 Message Codes
7.3 Objects
7.3.1 Object Types
7.3.2 Object Type Table
7.3.3 Object Description
7.4 Open And Close
7.5 Drivers and Process Linking
8 Libraries
8.1 L3 Terminal Handling
8.2 Debug Output
8.3 Server Library
9 Kernel Debugger
9.1 Entering and Leaving the Kernel Debugger
9.2 Entering Commands
9.3 Tracing some Kernel Information
9.4 Information about kernel modules and addresses
9.5 Breakpoints
9.6 Informationen about threads (tcb's, register contents, stack contents, ...)
9.7 Inspecting Mappings
9.8 Inspecting Memory
10 Development for L3/L4 (under construction)
10.1 Programming Style
10.1.1 Names and Identifier
10.1.2 Conventions for function declaration
10.1.3 Headers
10.1.4 Encapsulation of debug code
10.1.5 CVS related things
10.1.6 Library depencies
10.1.7 Miscellaneous Conventions
10.2 Tools (under construction)
10.2.1 gcc, g++
10.2.2 ld
10.2.3 ar
10.2.4 make
10.2.5 objdump
10.2.6 nm
10.2.7 cvs
10.2.8 emacs
10.2.9 elan scripts
10.2.10 How to build an run a program using these tools
10.3 Inline Assembler
10.3.1 Syntax
10.3.2 Assembler Instructions with C Expression Operands
10.3.3 Constraints
10.3.4 A more complex example
11 Interface To L3 TCP And UDP Functionality (under construction)
11.1 Preliminaries
11.1.1 Purpose of this Document
11.1.2 Related Documents
11.2 TCP Manager functions
11.2.1 Datastructures
11.2.2 Macros
11.2.3 TCPRead
11.2.4 TCPWrite
11.2.5 TCPOpen
11.2.6 Other functions
11.3 UDP Manager Interface
11.4 Name Server Interface
Marion Schalm, Jean Wolter, Michael Hohmuth
26.12.1995 (unfinished)