Linux Today: Linux News On Internet Time.
Search Linux Today
search.internet.com
Linux News Sections:  Blog -  Developer -  High Performance -  Infrastructure -  IT Management -  Security -  Storage -
Linux Today Navigation
LT Home
Preferences
Contribute
Link to Us
Search
Linux Jobs

Become a Marketplace Partner

internet.commerce
Be a Commerce Partner














The Linux Channel at internet.com
Linux Today
Enterprise Linux Today
Apache Today
JustLinux.com
Linux Planet
PHPBuilder
All Linux Devices
Technology Jobs

JustTechJobs.com

LinuxToday Newsletters
Subscribe News
Subscribe PR
Subscribe Security

internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

 






Current Newswire:

Google Offers Migration Tool for Microsoft Exchange Data

OpenOffice.org Project of the Month: the Irish community

Ten Years of OpenOffice.org

Loading ... Loading ... Top Ten One-Liners from CommandLineFu Explained

Mailing Lists Are Parties. Or They Should Be.

Project: Building An All-Text Linux Workstation

Cool: Or Hot? Linux really making your coffee, live a linux coffee machine

Editor's Note: All This Great Technology Just to Reinvent Television

Kubuntu is not Ubuntu

Claws Mail: Mail with Attitude




Financial Application Engineer (IL)
Next Step Systems
US-IL-Chicago

Justtechjobs.com Post A Job | Post A Resume
:Writing Network Device Drivers for Linux
Writing Network Device Drivers for Linux
Nov 3, 2008, 16 :33 UTC (0 Talkback[s]) (2723 reads)

(Other stories by Mohan Lal Jangir)

"The part of the interface most used by drivers is reading and writing memory-mapped registers on the device. Linux provides interfaces to read and write 8-bit, 16-bit, 32-bit and 64-bit quantities. Due to a historical accident, these are named byte, word, long, and quad accesses. Both read and write accesses are supported; there is no prefetch support at this time. The functions are named readb, readw, readl, readq, writeb, writew, writel, and writeq.

"Some devices (such as framebuffers) would like to use larger transfers that are more than 8 bytes at a time. For these devices, the memcpy_toio, memcpy_fromio and memset_io functions are provided. Do not use memset or memcpy on I/O addresses; they are not guaranteed to copy data in order.

"The read and write functions are defined to be ordered. That is, the compiler the the the is not permitted to reorder the I/O sequence. When the ordering can be compiler optimized, you can use __readb and friends to indicate the relaxed ordering. Use this with care. The rmb provides a read memory barrier. The wmb provides a write memory barrier."

Complete Story

Related Stories:
Audiocast: How Linux Supports More Devices Than Any Other OS, Ever(Nov 02, 2008)
Torvalds on Linux Kernel 2.6.28-rc1: More Drivers Than Ever(Oct 27, 2008)
Linux Driver Project(Sep 28, 2007)
/dev/hello_world: A Simple Introduction to Device Drivers Under Linux(Jul 09, 2007)
Preliminary Opensource Driver for the ATI R500-Based Cards(Jun 13, 2007)



No talkbacks posted.
  Home | Search Talkbacks | Customize View    Top of Page  



Enter your comments below:

* Your Name:

* Your Email Address:

* Subject:

CC: [will also send this talkback to an E-Mail address]

* Comments:

Tags allowed:<I>,<B> and <U>. See our talkback-policy for more about talkback content.

Fields marked with * are required!






..............................




All times are recorded in UTC.
Linux is a trademark of Linus Torvalds.
Powered by Linux, Apache and PHP


The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers