Ignore:
Timestamp:
Jul 6, 2011, 10:02:47 AM (14 years ago)
Author:
Markus Thielen
Message:
  • removed RAS calls (tracing to OS/2 kernel trace buffer was unreliable)
  • added private trace ring buffer implementation
  • support read from OS2AHCI$ character device
  • contents of trace ring buffer are accesible via OS2AHCI$ character device
  • updated WATCOM makefile; WATCOM build still produces a non-working driver
  • code cleanup (unused variables etc.)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/os2ahci/os2ahci.h

    r111 r112  
    9494#define dddprintf if (debug > 2) printf
    9595#define dddphex   if (debug > 2) phex
     96
     97/* TRACE macros (for our internal ring buffer trace) */
     98#define TRACE_ACTIVE  (debug > 0 && com_base == 0)
    9699
    97100/* adapter number from AD_INFO pointer; mainly for dprintf() purposes */
     
    251254#define ANSI_RESET      "\x1b[0m"
    252255
    253 /******************************************************************************
    254  * trace constants
    255  */
    256 #define AHCI_TRACE_MAJOR 0x00faU
    257 #define TRACE_MINOR_ATA_IDENTIFY  0x0020
    258 #define TRACE_MINOR_EXEC_CDB      0x0021
    259 #define TRACE_MINOR_EXEC_ATA      0x0022
    260 #define TRACE_MINOR_ATA_CMD       0x0023
    261 #define TRACE_MINOR_ATAPI_CMD     0x0024
    262 #define TRACE_MINOR_SG_LIST       0x0025
    263 #define TRACE_MINOR_SENSE_BUF     0x0026
    264 #define TRACE_MINOR_OEMHLP_PARM   0x0027
    265 #define TRACE_MINOR_OEMHLP_DATA   0x0028
    266 #define TRACE_MINOR_CMD_HDR       0x0029
    267 
    268 
    269256
    270257/* ------------------------ typedefs and structures ------------------------ */
     
    390377extern USHORT  init_drv               (RPINITIN _far *req);
    391378extern USHORT  gen_ioctl              (RP_GENIOCTL _far *ioctl);
     379extern USHORT  char_dev_input         (RP_RWV _far *rwrb);
    392380extern USHORT  exit_drv               (int func);
    393381extern void _cdecl _far _loadds add_entry    (IORBH _far *iorb);
     
    463451extern void _cdecl printf        (const char *fmt, ...);
    464452extern void        cprintf       (const char *fmt, ...);
    465 extern void        phex          (const void _far *p, int len,
    466                                   u16 trace_minor_code, const char *fmt, ...);
     453extern void        phex          (const void _far *p, int len, const char *fmt, ...);
    467454extern size_t      strlen        (const char _far *s);
    468455extern char _far  *strcpy        (char _far *dst, const char _far *src);
     
    482469extern int         disable       (void);
    483470extern void        enable        (void);
    484 extern void        trace         (u16 minor_code, u16 cb_buf,
    485                                   const char _far *buf);
     471
     472/* trace.c */
     473extern void        trace_init    (void);
     474extern void        trace_exit    (void);
     475extern void        trace_write   (u8 _far *s, int len);
     476extern u16         trace_read    (void _far *buf, u16 cb_buf);
     477extern u16         trace_bytes_avail(void);
     478extern u16         trace_char_dev(RP_RWV _far *rwrb);
    486479
    487480/* pci.c */
     
    524517extern PCI_ID        pci_ids[];     /* SATA adapter PCI IDs */
    525518extern ULONG         drv_lock;      /* driver-level spinlock */
     519extern ULONG         com_lock;      /* debug log spinlock */
    526520extern IORB_QUEUE    driver_queue;  /* driver-level IORB queue */
    527521extern AD_INFO       ad_infos[];    /* adapter information list */
Note: See TracChangeset for help on using the changeset viewer.