The Japan OSS Promotion Forum

June, 2005

Generic Kernel API Interface

(GKAI)

What's OSS Promotion Forum?

With participation from venders, users, and academic experts of information systems in Japan, an effort is underway to solve problems in utilizing OSS by freely discussing these problems. Specific activities are carried out by setting up working groups (WGs) for each issue.

The Japan OSS Promotion Forum works together with the China OSS Promotion Union and the Korea OSS Promotion Forum to form the Northeast Asia OSS Promotion Forum for the purpose of collaborating with private enterprises, research institutes, and educational organizations in China and Korea. The activities of the Northeast Asia OSS Promotion Forum are harmonized with the government level collaboration between Japan, China and Korea.

Purpose of the GKAI

Need new kernel API to bring any benefits

for all of end users, H/W vendors and Linux community.

What's the Gerenal Kernel API Interface?

Current

API

H/W drivers such as SCSI, NIC and Audio

work on the kernel core.

H/W vendors need to update each drivers every time the kernel updates the version.

Separate between the kernel core and H/W drivers then develop the standardized interface to be implemented to the place.

The kernel recognize only ONE driver.

It's enough for H/W vendors to work to connect thier drivers to the interface.

Kernel Core

SCSI Layer

SCSI Generic Driver

HW Driver

SCSI Library template
(same as current interface)

SCSI API template
(fixed interface)

SCSI Library template
E.X.

scsi_host_template

scsi_transport_template

SCSI API template
E.X.

name

detect

releaseinfo

ioctl

queuecommand

eh_strategy_handler

eh_abort_handler

eh_device_reset_handler

eh_bus_reset_handler

eh_host_reset_handler

scsi_eh_timer_return

change_quue_depth

change_queue_type

bios_param

proc_info

can_queue

proc_name

sg_tablesize

max_sectors

dma_boundary

cmd_per_lun

disk_change

.....

Load step

1. Request HW Driver Load from user space

2. Load HW Driver to kernel space

3. Initialize API template

4. Registration API

5. HW Initialize Request to HW Driver via API

6. Reconnection wirh kernel SCSI Layer

SAMPLE SCSI Generic Driver

Benefit of the GKAI

(1) Can use many supported hardwares

and is easy to manage it.

(2) No need to update the kernel to use the latest	hardwares.

(3) Can use multiple Linux distributions with using	the same drivers.

User

benefit

Vendor

benefit

Community

benefit

(1) No need to be available publicly for the driver.

(They can distribute it as the closed source software)

(2) Decrease the developement and maintenance cost by not providing the updated driver to fit

the updated kernel.

(1) The development technique for the kernel

usually is fluid but the efficiancy becomes good

in order not to rewrite the driver.

Consideration the portability of Windows API

Can be possible to be easy to develop the driver for Windows by designing to consider the portability with Windows API.

(1) Outline decision (target: end of Jun, 2005)

Select the discussion member

Collect the contents of work

Approval by OSS JAPAN

(2) Specification decision (target: end of Sep, 2005)

Collect all H/W attribute

Deliberation the GKD specification decision

Final decision for the driver format

(3) GKD developmnet (target: end of Mar, 2006)

The driver development, verification and documentation etc.

Proposal schedule

2003-09-29T14:31:47