Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword or section
Like this

Table Of Contents

0.2 Why Assembly Language?
1 An Introduction to Device Drivers
2 Building and Running Modules
2.1 The "Hello World" Driver Module
2.2 Compiling and Linking Drivers
2.3 Version Dependency
2.4 Kernel Modules vs. Applications
2.5 Kernel Stack Space and The Current Process
2.6 Compiling and Loading
2.6.1 A Make File for SKULL
2.7 Version Dependency and Installation Issues
2.8 Platform Dependency
2.9 The Kernel Symbol Table
2.10Initialization and Shutdown
2.11Error Handling in init_module
2.12The Usage Count
2.13Resource Allocation (I/O Ports and Memory)
2.14Automatic and Manual Configuration
2.15The SKULL Module
2.16Kernel Versions and HLA Header Files
2.16.1Converting C Header Files to HLA and Updating Header Files
2.16.2Converting C Structs to HLA Records
2.16.3C Calling Sequences and Wrapper Functions/Macros
2.16.4Kernel Types vs. User Types
2.17Some Simple Debug Tools
3Character Drivers
3.1 The Design of scullc
3.2 Major and Minor Numbers
3.3 Dynamic Allocation of Major Numbers
3.4 Removing a Driver From the System
3.5 dev_t and kdev_t
3.6.1 The llseek Function
3.6.2 The read Function
3.7 The write Function
3.8 The readdir Function
3.8.1 The poll Function
3.8.2 The _ioctl Function
3.8.3 The mmap Function
3.8.4 The open Function
3.8.6 The release Function
3.8.7 The fsync Function
3.8.8 The fasync Function
3.8.9 The lock Function
3.8.10The readv and writev Functions
3.8.11The owner Field
3.9.1 file.f_mode : linux.mode_t
3.9.2 file.f_pos : linux.loff_t
3.9.5 file.private_data : dword
3.9.6 file.f_dentry : linux.dentry
3.10Open and Release
3.10.1The Open Procedure
3.10.2The release Procedure
3.10.3Kernel Memory Management (kmalloc and kfree)
3.10.4The scull_device Data Type
3.10.5A (Very) Brief Introduction to Race Conditions
3.10.6The read and write Procedures
3.11The scullc Driver
3.11.1The scullc.hhf Header File
3.12The scullc.hla Source File
3.13Debugging Techniques
3.13.2Debugging By Printing linux.printk Turning Debug Messages On and Off Debug Zones
3.13.3Debugging by Querying
0 of .
Results for:
No results containing your search query
P. 1
Writing Linux Device Drivers in Assembly Language - 2002

Writing Linux Device Drivers in Assembly Language - 2002

Ratings: (0)|Views: 11 |Likes:
Published by ferbi40

More info:

Published by: ferbi40 on Aug 05, 2012
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





You're Reading a Free Preview
Pages 4 to 56 are not shown in this preview.
You're Reading a Free Preview
Pages 60 to 62 are not shown in this preview.
You're Reading a Free Preview
Pages 66 to 116 are not shown in this preview.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->