LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Tue Dec 20 12:33:10 CET 2005
    Subject: [cvs-checkins] MODIFIED: or1k ...
    Top
    Date: 00/05/12 20:12:33

    Added: or1k/rc203soc/sw/uClinux/include/scsi scsi.h scsi_ioctl.h
    scsicam.h sg.h
    Log:
    First Import of RC20x uClinux


    Revision Changes Path
    1.1 or1k/rc203soc/sw/uClinux/include/scsi/scsi.h

    http://www.opencores.org/cvsweb.shtml/or1k/rc203soc/sw/uClinux/include/scsi/scsi.h?rev=1.1&content-type=text/x-cvsweb-markup

    Index: scsi.h
    ===================================================================
    #ifndef _LINUX_SCSI_H
    #define _LINUX_SCSI_H

    /*
    * This header file contains public constants and structures used by
    * the scsi code for linux.
    */

    /*
    $Header: /cvsroot/jcastillo/or1k/rc203soc/sw/uClinux/include/scsi/scsi.h,v 1.1 2005/12/20 11:33:08 jcastillo Exp $

    For documentation on the OPCODES, MESSAGES, and SENSE values,
    please consult the SCSI standard.

    */

    /*
    * SCSI opcodes
    */

    #define TEST_UNIT_READY 0x00
    #define REZERO_UNIT 0x01
    #define REQUEST_SENSE 0x03
    #define FORMAT_UNIT 0x04
    #define READ_BLOCK_LIMITS 0x05
    #define REASSIGN_BLOCKS 0x07
    #define READ_6 0x08
    #define WRITE_6 0x0a
    #define SEEK_6 0x0b
    #define READ_REVERSE 0x0f
    #define WRITE_FILEMARKS 0x10
    #define SPACE 0x11
    #define INQUIRY 0x12
    #define RECOVER_BUFFERED_DATA 0x14
    #define MODE_SELECT 0x15
    #define RESERVE 0x16
    #define RELEASE 0x17
    #define COPY 0x18
    #define ERASE 0x19
    #define MODE_SENSE 0x1a
    #define START_STOP 0x1b
    #define RECEIVE_DIAGNOSTIC 0x1c
    #define SEND_DIAGNOSTIC 0x1d
    #define ALLOW_MEDIUM_REMOVAL 0x1e

    #define SET_WINDOW 0x24
    #define READ_CAPACITY 0x25
    #define READ_10 0x28
    #define WRITE_10 0x2a
    #define SEEK_10 0x2b
    #define WRITE_VERIFY 0x2e
    #define VERIFY 0x2f
    #define SEARCH_HIGH 0x30
    #define SEARCH_EQUAL 0x31
    #define SEARCH_LOW 0x32
    #define SET_LIMITS 0x33
    #define PRE_FETCH 0x34
    #define READ_POSITION 0x34
    #define SYNCHRONIZE_CACHE 0x35
    #define LOCK_UNLOCK_CACHE 0x36
    #define READ_DEFECT_DATA 0x37
    #define MEDIUM_SCAN 0x38
    #define COMPARE 0x39
    #define COPY_VERIFY 0x3a
    #define WRITE_BUFFER 0x3b
    #define READ_BUFFER 0x3c
    #define UPDATE_BLOCK 0x3d
    #define READ_LONG 0x3e
    #define WRITE_LONG 0x3f
    #define CHANGE_DEFINITION 0x40
    #define WRITE_SAME 0x41
    #define READ_TOC 0x43
    #define LOG_SELECT 0x4c
    #define LOG_SENSE 0x4d
    #define MODE_SELECT_10 0x55
    #define MODE_SENSE_10 0x5a
    #define MOVE_MEDIUM 0xa5
    #define READ_12 0xa8
    #define WRITE_12 0xaa
    #define WRITE_VERIFY_12 0xae
    #define SEARCH_HIGH_12 0xb0
    #define SEARCH_EQUAL_12 0xb1
    #define SEARCH_LOW_12 0xb2
    #define READ_ELEMENT_STATUS 0xb8
    #define SEND_VOLUME_TAG 0xb6
    #define WRITE_LONG_2 0xea

    /* * Status codes */ #define GOOD 0x00 #define CHECK_CONDITION 0x01 #define CONDITION_GOOD 0x02 #define BUSY 0x04 #define INTERMEDIATE_GOOD 0x08 #define INTERMEDIATE_C_GOOD 0x0a #define RESERVATION_CONFLICT 0x0c #define COMMAND_TERMINATED 0x11 #define QUEUE_FULL 0x14 #define STATUS_MASK 0x3e /* * SENSE KEYS */ #define NO_SENSE 0x00 #define RECOVERED_ERROR 0x01 #define NOT_READY 0x02 #define MEDIUM_ERROR 0x03 #define HARDWARE_ERROR 0x04 #define ILLEGAL_REQUEST 0x05 #define UNIT_ATTENTION 0x06 #define DATA_PROTECT 0x07 #define BLANK_CHECK 0x08 #define COPY_ABORTED 0x0a #define ABORTED_COMMAND 0x0b #define VOLUME_OVERFLOW 0x0d #define MISCOMPARE 0x0e /* * DEVICE TYPES */ #define TYPE_DISK 0x00 #define TYPE_TAPE 0x01 #define TYPE_PROCESSOR 0x03 /* HP scanners use this */ #define TYPE_WORM 0x04 /* Treated as ROM by our system */ #define TYPE_ROM 0x05 #define TYPE_SCANNER 0x06 #define TYPE_MOD 0x07 /* Magneto-optical disk - * - treated as TYPE_DISK */ #define TYPE_MEDIUM_CHANGER 0x08 #define TYPE_NO_LUN 0x7f /* * MESSAGE CODES */ #define COMMAND_COMPLETE 0x00 #define EXTENDED_MESSAGE 0x01 #define EXTENDED_MODIFY_DATA_POINTER 0x00 #define EXTENDED_SDTR 0x01 #define EXTENDED_EXTENDED_IDENTIFY 0x02 /* SCSI-I only */ #define EXTENDED_WDTR 0x03 #define SAVE_POINTERS 0x02 #define RESTORE_POINTERS 0x03 #define DISCONNECT 0x04 #define INITIATOR_ERROR 0x05 #define ABORT 0x06 #define MESSAGE_REJECT 0x07 #define NOP 0x08 #define MSG_PARITY_ERROR 0x09 #define LINKED_CMD_COMPLETE 0x0a #define LINKED_FLG_CMD_COMPLETE 0x0b #define BUS_DEVICE_RESET 0x0c #define INITIATE_RECOVERY 0x0f /* SCSI-II only */ #define RELEASE_RECOVERY 0x10 /* SCSI-II only */ #define SIMPLE_QUEUE_TAG 0x20 #define HEAD_OF_QUEUE_TAG 0x21 #define ORDERED_QUEUE_TAG 0x22 /* * Here are some scsi specific ioctl commands which are sometimes useful. */ /* These are a few other constants only used by scsi devices */ #define SCSI_IOCTL_GET_IDLUN 0x5382 /* Used to turn on and off tagged queuing for scsi devices */ #define SCSI_IOCTL_TAGGED_ENABLE 0x5383 #define SCSI_IOCTL_TAGGED_DISABLE 0x5384 /* Used to obtain the host number of a device. */ #define SCSI_IOCTL_PROBE_HOST 0x5385 /* Used to get the bus number for a device */ #define SCSI_IOCTL_GET_BUS_NUMBER 0x5386 /* * Overrides for Emacs so that we follow Linus's tabbing style. * Emacs will notice this stuff at the end of the file and automatically * adjust the settings for this buffer only. This must remain at the end * of the file. * --------------------------------------------------------------------------- * Local variables: * c-indent-level: 4 * c-brace-imaginary-offset: 0 * c-brace-offset: -4 * c-argdecl-indent: 4 * c-label-offset: -4 * c-continued-statement-offset: 4 * c-continued-brace-offset: 0 * indent-tabs-mode: nil * tab-width: 8 * End: */ #endif 1.1 or1k/rc203soc/sw/uClinux/include/scsi/scsi_ioctl.h http://www.opencores.org/cvsweb.shtml/or1k/rc203soc/sw/uClinux/include/scsi/scsi_ioctl.h?rev=1.1&content-type=text/x-cvsweb-markup Index: scsi_ioctl.h =================================================================== #ifndef _SCSI_IOCTL_H #define _SCSI_IOCTL_H #define SCSI_IOCTL_SEND_COMMAND 1 #define SCSI_IOCTL_TEST_UNIT_READY 2 #define SCSI_IOCTL_BENCHMARK_COMMAND 3 #define SCSI_IOCTL_SYNC 4 /* Request synchronous parameters */ #define SCSI_IOCTL_START_UNIT 5 #define SCSI_IOCTL_STOP_UNIT 6 /* The door lock/unlock constants are compatible with Sun constants for the cdrom */ #define SCSI_IOCTL_DOORLOCK 0x5380 /* lock the eject mechanism */ #define SCSI_IOCTL_DOORUNLOCK 0x5381 /* unlock the mechanism */ #define SCSI_REMOVAL_PREVENT 1 #define SCSI_REMOVAL_ALLOW 0 #ifdef __KERNEL__ extern int scsi_ioctl (Scsi_Device *dev, int cmd, void *arg); extern int kernel_scsi_ioctl (Scsi_Device *dev, int cmd, void *arg); extern int scsi_ioctl_send_command(Scsi_Device *dev, void *buffer); #endif #endif 1.1 or1k/rc203soc/sw/uClinux/include/scsi/scsicam.h http://www.opencores.org/cvsweb.shtml/or1k/rc203soc/sw/uClinux/include/scsi/scsicam.h?rev=1.1&content-type=text/x-cvsweb-markup Index: scsicam.h =================================================================== /* * scsicam.h - SCSI CAM support functions, use for HDIO_GETGEO, etc. * * Copyright 1993, 1994 Drew Eckhardt * Visionary Computing * (Unix and Linux consulting and custom programming) * drew@C... * +1 (303) 786-7975 * * For more information, please consult the SCSI-CAM draft. */ #ifndef SCSICAM_H #define SCSICAM_H #include <linux/kdev_t.h> extern int scsicam_bios_param (Disk *disk, kdev_t dev, int *ip); extern int scsi_partsize(struct buffer_head *bh, unsigned long capacity, unsigned int *cyls, unsigned int *hds, unsigned int *secs); #endif /* def SCSICAM_H */ 1.1 or1k/rc203soc/sw/uClinux/include/scsi/sg.h http://www.opencores.org/cvsweb.shtml/or1k/rc203soc/sw/uClinux/include/scsi/sg.h?rev=1.1&content-type=text/x-cvsweb-markup Index: sg.h =================================================================== /* History: Started: Aug 9 by Lawrence Foard (entropy@w...), to allow user process control of SCSI devices. Development Sponsored by Killy Corp. NY NY */ #ifndef _SCSI_GENERIC_H #define _SCSI_GENERIC_H /* An SG device is accessed by writing "packets" to it, the replies are then read using the read call. The same header is used for reply, just ignore reply_len field. */ struct sg_header { int pack_len; /* length of incoming packet <4096 (including header) */ int reply_len; /* maximum length <4096 of expected reply */ int pack_id; /* id number of packet */ int result; /* 0==ok, otherwise refer to errno codes */ unsigned int twelve_byte:1; /* Force 12 byte command length for group 6 & 7 commands */ unsigned int other_flags:31; /* for future use */ unsigned char sense_buffer[16]; /* used only by reads */ /* command follows then data for command */ }; /* ioctl's */ #define SG_SET_TIMEOUT 0x2201 /* set timeout *(int *)arg==timeout */ #define SG_GET_TIMEOUT 0x2202 /* get timeout return timeout */ #define SG_DEFAULT_TIMEOUT (60*HZ) /* 1 minute timeout */ #define SG_DEFAULT_RETRIES 1 #define SG_MAX_QUEUE 4 /* maximum outstanding request, arbitrary, may be changed if sufficient DMA buffer room available */ #define SG_BIG_BUFF 32768 #endif

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.