--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-A849B353-76E5-5AD6-851A-AF18C66AED48.dita Fri Jan 22 18:26:19 2010 +0000
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License
+"Eclipse Public License v1.0" which accompanies this distribution,
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+ Nokia Corporation - initial contribution.
+Contributors:
+-->
+<!DOCTYPE concept
+ PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-A849B353-76E5-5AD6-851A-AF18C66AED48" xml:lang="en"><title>Generic
+Driver Support Overview</title><shortdesc>Generic driver related concepts in Symbian platform. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-7-1-14-1-1-12-1-4-1-3-1"><title>Architecture</title> <p>The
+role of a generic device driver is to give a user-side application access
+to peripheral resources without exposing the operation of the underlying hardware.
+A device driver is effectively an add-on to the kernel, and implements a polymorphic
+interface defined by the kernel. It resides on the kernel side and therefore
+has the same access rights, uses the kernel heap and links to the kernel,
+so that it can call kernel functions. Typically, hardware indicates completion
+of an operation by generating an interrupt. This is handled by an Interrupt
+Service Routine (ISR) provided by the driver. An ISR is restricted in what
+it can do, and must complete quickly. So it is normal for it to schedule a
+Delayed Function Call (DFC) which at some later time runs in the context of
+a kernel-side thread. Device driver services are generally asynchronous. A
+device driver includes: </p> <ul>
+<li id="GUID-DE0F5D5C-B3C2-547D-BE5B-EA80FE290A20"><p>A user-side API </p> </li>
+<li id="GUID-33122E07-9C29-5138-8FBD-D8B34195091D"><p>Two kernel-side DLLs,
+each of which exports a single factory function at ordinal 1 to create the
+necessary kernel-side objects, namely </p> <ul>
+<li id="GUID-33F58387-8EB1-559B-9410-F06F76DA436C"><p>Logical device driver
+DLL with a file name extension <codeph>.ldd</codeph> </p> </li>
+<li id="GUID-ED88F823-7883-5BEC-8E50-728F59901D05"><p>Physical device driver
+DLL with a file name extension .pdd </p> </li>
+</ul> </li>
+</ul> </section>
+<section id="GUID-A51AA612-F9DC-4A57-A110-BABB0002B624"><title>Components</title> <p>The
+following components make up the generic driver support collection: </p> <ul>
+<li id="GUID-10D21882-F873-5A7A-BF95-1099CF2D1105"><p>Generic Board Support
+Packages </p> </li>
+<li id="GUID-3537A6C7-9DA1-57D8-9C41-BA15A7647979"><p>Media Drivers </p> </li>
+<li id="GUID-0DDB7C2E-2231-5C12-9650-5BEA71A21A89"><p>SD Card 3C Driver </p> </li>
+<li id="GUID-60CCAEA4-0260-55DB-AD7E-4565C9866A9F"><p>SD Card 4C Driver </p> </li>
+<li id="GUID-D196EB31-A9A9-591D-B193-D51A51CBF36C"><p>System On Chip ASSP </p> </li>
+</ul> </section>
+<section id="GUID-B6DCB613-80AF-416C-A8E2-3321CE02C1C6"><title>Using Generic
+Driver Support</title> <ul>
+<li id="GUID-F905C135-E1B0-5AB1-A131-5136CC4B45F7"><p>Generic Board Support
+Packages - Generic Board Support Packages provides generic code for DMA framework,
+power management and digitizer. </p> </li>
+<li id="GUID-44105C97-F2CD-597C-8645-2A3556B711AE"><p>Media Drivers - The
+Media Drivers collection provides the physical device drivers, called media
+drivers, and associated libraries that manage storage media hardware. Some
+media drivers have platform specific layers that a base port can implement
+for particular types of storage hardware. </p> </li>
+<li id="GUID-1A009040-46D7-5BE9-A31E-CECBF3FC0DF4"><p>SD Card 3C Driver -
+SD Card 3C Driver provides media drivers and generic (PIL) parts of the stack
+for accessing Secure Digital flash memory cards. </p> </li>
+<li id="GUID-813297BC-3DC3-519A-9193-EACB6DDFBA2F"><p>SD Card 4C Driver -
+SD Card 4C Driver provides media drivers and generic (PIL) parts of the stack
+for accessing 4C type Secure Digital flash memory cards. </p> </li>
+<li id="GUID-A424393A-EDA6-524A-9117-6AFB8595EF2D"><p>System On Chip ASSP
+- System On Chip ASSP contains source for common hardware peripherals that
+may be used by multiple BSPs. </p> </li>
+</ul><note> 4C and 3C type SD card drivers are split, as they are available
+under different licenses.</note> </section>
+</conbody><related-links>
+<link href="GUID-52371DAB-A231-558C-B3E6-220DAAEE566B.dita#GUID-52371DAB-A231-558C-B3E6-220DAAEE566B/GUID-D25228C5-D51E-54A3-A5D0-0B68A9E8E7C8">
+<linktext>Logical Device Drivers and Generic Driver Support</linktext>
+</link>
+</related-links></concept>
\ No newline at end of file