Changeset 87
- Timestamp:
- Apr 29, 2011, 11:21:36 AM (14 years ago)
- Location:
- trunk/src/os2ahci
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/os2ahci/ahci.c
r86 r87 2 2 * ahci.c - ahci hardware access functions 3 3 * 4 * Copyright (c) 2010 Christian Mueller. Parts copied from/inspired by the 5 * Linux AHCI driver; those parts are (c) Linux AHCI/ATA maintainers 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 10 * those parts are (c) Linux AHCI/ATA maintainers 6 11 * 7 12 * This program is free software; you can redistribute it and/or modify … … 1582 1587 ai->ports[p].devs[d].removable = (id_buf[ATA_ID_CONFIG] & 0x0080U) != 0; 1583 1588 ai->ports[p].devs[d].dev_type = UIB_TYPE_DISK; 1584 1589 1585 1590 if (id_buf[ATA_ID_CONFIG] & 0x8000U) { 1586 1591 /* this is an ATAPI device; augment device information */ -
trunk/src/os2ahci/ahci.h
r80 r87 2 2 * ahci.h - AHCI-specific constants for os2ahci.h 3 3 * 4 * Copyright (c) 2010 Christian Mueller. Parts copied from/inspired by the 5 * Linux AHCI driver; those parts are (c) Linux AHCI/ATA maintainers 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 10 * those parts are (c) Linux AHCI/ATA maintainers 6 11 * 7 12 * This program is free software; you can redistribute it and/or modify -
trunk/src/os2ahci/apm.c
r84 r87 2 2 * apm.c - Functions to interface with the APM driver. 3 3 * 4 * Copyright (c) 2010 Christian Mueller, Markus Thielen. 5 * Parts copied from/inspired by the LINUX ahci driver; 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 6 10 * those parts are (c) Linux AHCI/ATA maintainers 7 11 * -
trunk/src/os2ahci/ata.c
r86 r87 2 2 * ata.c - ATA command processing 3 3 * 4 * Copyright (c) 2010 Christian Mueller, Markus Thielen. 5 * Parts copied from/inspired by the Linux AHCI driver; 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 6 10 * those parts are (c) Linux AHCI/ATA maintainers 7 11 * -
trunk/src/os2ahci/ata.h
r82 r87 2 2 * ata.h - ATA structures and macros for os2ahci driver 3 3 * 4 * Copyright (c) 2010 Christian Mueller. Parts copied from/inspired by the 5 * Linux AHCI driver; those parts are (c) Linux AHCI/ATA maintainers 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 10 * those parts are (c) Linux AHCI/ATA maintainers 6 11 * 7 12 * This program is free software; you can redistribute it and/or modify … … 194 199 #define ATA_CMD_IDLE 0xE3 /* place in idle power mode */ 195 200 #define ATA_CMD_EDD 0x90 /* execute device diagnostic */ 196 #define ATA_CMD_DOWNLOAD_MICRO 0x92 197 #define ATA_CMD_NOP 0x00 198 #define ATA_CMD_FLUSH 0xE7 199 #define ATA_CMD_FLUSH_EXT 0xEA 200 #define ATA_CMD_ID_ATA 0xEC 201 #define ATA_CMD_ID_ATAPI 0xA1 202 #define ATA_CMD_SERVICE 0xA2 203 #define ATA_CMD_READ 0xC8 204 #define ATA_CMD_READ_EXT 0x25 205 #define ATA_CMD_READ_QUEUED 0x26 206 #define ATA_CMD_READ_STREAM_EXT 0x2B 207 #define ATA_CMD_READ_STREAM_DMA_EXT 0x2A 208 #define ATA_CMD_WRITE 0xCA 209 #define ATA_CMD_WRITE_EXT 0x35 210 #define ATA_CMD_WRITE_QUEUED 0x36 211 #define ATA_CMD_WRITE_STREAM_EXT 0x3B 212 #define ATA_CMD_WRITE_STREAM_DMA_EXT 0x3A 213 #define ATA_CMD_WRITE_FUA_EXT 0x3D 214 #define ATA_CMD_WRITE_QUEUED_FUA_EXT 0x3E 215 #define ATA_CMD_FPDMA_READ 0x60 216 #define ATA_CMD_FPDMA_WRITE 0x61 217 #define ATA_CMD_PIO_READ 0x20 218 #define ATA_CMD_PIO_READ_EXT 0x24 219 #define ATA_CMD_PIO_WRITE 0x30 220 #define ATA_CMD_PIO_WRITE_EXT 0x34 221 #define ATA_CMD_READ_MULTI 0xC4 222 #define ATA_CMD_READ_MULTI_EXT 0x29 223 #define ATA_CMD_WRITE_MULTI 0xC5 224 #define ATA_CMD_WRITE_MULTI_EXT 0x39 225 #define ATA_CMD_WRITE_MULTI_FUA_EXT 0xCE 226 #define ATA_CMD_SET_FEATURES 0xEF 227 #define ATA_CMD_SET_MULTI 0xC6 228 #define ATA_CMD_PACKET 0xA0 229 #define ATA_CMD_VERIFY 0x40 230 #define ATA_CMD_VERIFY_EXT 0x42 231 #define ATA_CMD_WRITE_UNCORR_EXT 0x45 232 #define ATA_CMD_STANDBYNOW1 0xE0 233 #define ATA_CMD_IDLEIMMEDIATE 0xE1 234 #define ATA_CMD_SLEEP 0xE6 235 #define ATA_CMD_INIT_DEV_PARAMS 0x91 236 #define ATA_CMD_READ_NATIVE_MAX 0xF8 237 #define ATA_CMD_READ_NATIVE_MAX_EXT 0x27 238 #define ATA_CMD_SET_MAX 0xF9 239 #define ATA_CMD_SET_MAX_EXT 0x37 240 #define ATA_CMD_READ_LOG_EXT 0x2F 241 #define ATA_CMD_WRITE_LOG_EXT 0x3F 242 #define ATA_CMD_READ_LOG_DMA_EXT 0x47 243 #define ATA_CMD_WRITE_LOG_DMA_EXT 0x57 244 #define ATA_CMD_TRUSTED_RCV 0x5C 245 #define ATA_CMD_TRUSTED_RCV_DMA 0x5D 246 #define ATA_CMD_TRUSTED_SND 0x5E 247 #define ATA_CMD_TRUSTED_SND_DMA 0x5F 248 #define ATA_CMD_PMP_READ 0xE4 249 #define ATA_CMD_PMP_WRITE 0xE8 250 #define ATA_CMD_CONF_OVERLAY 0xB1 251 #define ATA_CMD_SEC_SET_PASS 0xF1 252 #define ATA_CMD_SEC_UNLOCK 0xF2 253 #define ATA_CMD_SEC_ERASE_PREP 0xF3 254 #define ATA_CMD_SEC_ERASE_UNIT 0xF4 255 #define ATA_CMD_SEC_FREEZE_LOCK 0xF5 256 #define ATA_CMD_SEC_DISABLE_PASS 0xF6 257 #define ATA_CMD_CONFIG_STREAM 0x51 258 #define ATA_CMD_SMART 0xB0 259 #define ATA_CMD_MEDIA_LOCK 0xDE 260 #define ATA_CMD_MEDIA_UNLOCK 0xDF 261 #define ATA_CMD_DSM 0x06 262 #define ATA_CMD_CHK_MED_CRD_TYP 0xD1 263 #define ATA_CMD_CFA_REQ_EXT_ERR 0x03 264 #define ATA_CMD_CFA_WRITE_NE 0x38 265 #define ATA_CMD_CFA_TRANS_SECT 0x87 266 #define ATA_CMD_CFA_ERASE 0xC0 267 #define ATA_CMD_CFA_WRITE_MULT_NE 0xCD 201 #define ATA_CMD_DOWNLOAD_MICRO 0x92 202 #define ATA_CMD_NOP 0x00 203 #define ATA_CMD_FLUSH 0xE7 204 #define ATA_CMD_FLUSH_EXT 0xEA 205 #define ATA_CMD_ID_ATA 0xEC 206 #define ATA_CMD_ID_ATAPI 0xA1 207 #define ATA_CMD_SERVICE 0xA2 208 #define ATA_CMD_READ 0xC8 209 #define ATA_CMD_READ_EXT 0x25 210 #define ATA_CMD_READ_QUEUED 0x26 211 #define ATA_CMD_READ_STREAM_EXT 0x2B 212 #define ATA_CMD_READ_STREAM_DMA_EXT 0x2A 213 #define ATA_CMD_WRITE 0xCA 214 #define ATA_CMD_WRITE_EXT 0x35 215 #define ATA_CMD_WRITE_QUEUED 0x36 216 #define ATA_CMD_WRITE_STREAM_EXT 0x3B 217 #define ATA_CMD_WRITE_STREAM_DMA_EXT 0x3A 218 #define ATA_CMD_WRITE_FUA_EXT 0x3D 219 #define ATA_CMD_WRITE_QUEUED_FUA_EXT 0x3E 220 #define ATA_CMD_FPDMA_READ 0x60 221 #define ATA_CMD_FPDMA_WRITE 0x61 222 #define ATA_CMD_PIO_READ 0x20 223 #define ATA_CMD_PIO_READ_EXT 0x24 224 #define ATA_CMD_PIO_WRITE 0x30 225 #define ATA_CMD_PIO_WRITE_EXT 0x34 226 #define ATA_CMD_READ_MULTI 0xC4 227 #define ATA_CMD_READ_MULTI_EXT 0x29 228 #define ATA_CMD_WRITE_MULTI 0xC5 229 #define ATA_CMD_WRITE_MULTI_EXT 0x39 230 #define ATA_CMD_WRITE_MULTI_FUA_EXT 0xCE 231 #define ATA_CMD_SET_FEATURES 0xEF 232 #define ATA_CMD_SET_MULTI 0xC6 233 #define ATA_CMD_PACKET 0xA0 234 #define ATA_CMD_VERIFY 0x40 235 #define ATA_CMD_VERIFY_EXT 0x42 236 #define ATA_CMD_WRITE_UNCORR_EXT 0x45 237 #define ATA_CMD_STANDBYNOW1 0xE0 238 #define ATA_CMD_IDLEIMMEDIATE 0xE1 239 #define ATA_CMD_SLEEP 0xE6 240 #define ATA_CMD_INIT_DEV_PARAMS 0x91 241 #define ATA_CMD_READ_NATIVE_MAX 0xF8 242 #define ATA_CMD_READ_NATIVE_MAX_EXT 0x27 243 #define ATA_CMD_SET_MAX 0xF9 244 #define ATA_CMD_SET_MAX_EXT 0x37 245 #define ATA_CMD_READ_LOG_EXT 0x2F 246 #define ATA_CMD_WRITE_LOG_EXT 0x3F 247 #define ATA_CMD_READ_LOG_DMA_EXT 0x47 248 #define ATA_CMD_WRITE_LOG_DMA_EXT 0x57 249 #define ATA_CMD_TRUSTED_RCV 0x5C 250 #define ATA_CMD_TRUSTED_RCV_DMA 0x5D 251 #define ATA_CMD_TRUSTED_SND 0x5E 252 #define ATA_CMD_TRUSTED_SND_DMA 0x5F 253 #define ATA_CMD_PMP_READ 0xE4 254 #define ATA_CMD_PMP_WRITE 0xE8 255 #define ATA_CMD_CONF_OVERLAY 0xB1 256 #define ATA_CMD_SEC_SET_PASS 0xF1 257 #define ATA_CMD_SEC_UNLOCK 0xF2 258 #define ATA_CMD_SEC_ERASE_PREP 0xF3 259 #define ATA_CMD_SEC_ERASE_UNIT 0xF4 260 #define ATA_CMD_SEC_FREEZE_LOCK 0xF5 261 #define ATA_CMD_SEC_DISABLE_PASS 0xF6 262 #define ATA_CMD_CONFIG_STREAM 0x51 263 #define ATA_CMD_SMART 0xB0 264 #define ATA_CMD_MEDIA_LOCK 0xDE 265 #define ATA_CMD_MEDIA_UNLOCK 0xDF 266 #define ATA_CMD_DSM 0x06 267 #define ATA_CMD_CHK_MED_CRD_TYP 0xD1 268 #define ATA_CMD_CFA_REQ_EXT_ERR 0x03 269 #define ATA_CMD_CFA_WRITE_NE 0x38 270 #define ATA_CMD_CFA_TRANS_SECT 0x87 271 #define ATA_CMD_CFA_ERASE 0xC0 272 #define ATA_CMD_CFA_WRITE_MULT_NE 0xCD 268 273 /* marked obsolete in the ATA/ATAPI-7 spec */ 269 #define ATA_CMD_RESTORE 0x10 274 #define ATA_CMD_RESTORE 0x10 270 275 271 276 /* READ_LOG_EXT pages */ 272 #define ATA_LOG_SATA_NCQ 0x10 277 #define ATA_LOG_SATA_NCQ 0x10 273 278 274 279 /* READ/WRITE LONG (obsolete) */ 275 #define ATA_CMD_READ_LONG 0x22 276 #define ATA_CMD_READ_LONG_ONCE 0x23 277 #define ATA_CMD_WRITE_LONG 0x32 278 #define ATA_CMD_WRITE_LONG_ONCE 0x33 280 #define ATA_CMD_READ_LONG 0x22 281 #define ATA_CMD_READ_LONG_ONCE 0x23 282 #define ATA_CMD_WRITE_LONG 0x32 283 #define ATA_CMD_WRITE_LONG_ONCE 0x33 279 284 280 285 /* SETFEATURES stuff */ 281 #define SETFEATURES_XFER 0x03 282 #define XFER_UDMA_7 0x47 283 #define XFER_UDMA_6 0x46 284 #define XFER_UDMA_5 0x45 285 #define XFER_UDMA_4 0x44 286 #define XFER_UDMA_3 0x43 287 #define XFER_UDMA_2 0x42 288 #define XFER_UDMA_1 0x41 289 #define XFER_UDMA_0 0x40 286 #define SETFEATURES_XFER 0x03 287 #define XFER_UDMA_7 0x47 288 #define XFER_UDMA_6 0x46 289 #define XFER_UDMA_5 0x45 290 #define XFER_UDMA_4 0x44 291 #define XFER_UDMA_3 0x43 292 #define XFER_UDMA_2 0x42 293 #define XFER_UDMA_1 0x41 294 #define XFER_UDMA_0 0x40 290 295 #define XFER_MW_DMA_4 0x24 /* CFA only */ 291 296 #define XFER_MW_DMA_3 0x23 /* CFA only */ 292 #define XFER_MW_DMA_2 0x22 293 #define XFER_MW_DMA_1 0x21 294 #define XFER_MW_DMA_0 0x20 295 #define XFER_SW_DMA_2 0x12 296 #define XFER_SW_DMA_1 0x11 297 #define XFER_SW_DMA_0 0x10 297 #define XFER_MW_DMA_2 0x22 298 #define XFER_MW_DMA_1 0x21 299 #define XFER_MW_DMA_0 0x20 300 #define XFER_SW_DMA_2 0x12 301 #define XFER_SW_DMA_1 0x11 302 #define XFER_SW_DMA_0 0x10 298 303 #define XFER_PIO_6 0x0E /* CFA only */ 299 304 #define XFER_PIO_5 0x0D /* CFA only */ 300 #define XFER_PIO_4 0x0C 301 #define XFER_PIO_3 0x0B 302 #define XFER_PIO_2 0x0A 303 #define XFER_PIO_1 0x09 304 #define XFER_PIO_0 0x08 305 #define XFER_PIO_SLOW 0x00 305 #define XFER_PIO_4 0x0C 306 #define XFER_PIO_3 0x0B 307 #define XFER_PIO_2 0x0A 308 #define XFER_PIO_1 0x09 309 #define XFER_PIO_0 0x08 310 #define XFER_PIO_SLOW 0x00 306 311 307 312 #define SETFEATURES_WC_ON 0x02 /* Enable write cache */ … … 309 314 310 315 /* Enable/Disable Automatic Acoustic Management */ 311 #define SETFEATURES_AAM_ON 0x42 312 #define SETFEATURES_AAM_OFF 0xC2 316 #define SETFEATURES_AAM_ON 0x42 317 #define SETFEATURES_AAM_OFF 0xC2 313 318 314 319 #define SETFEATURES_SPINUP 0x07 /* Spin-up drive */ … … 326 331 327 332 /* feature values for SET_MAX */ 328 #define ATA_SET_MAX_ADDR 0x00 329 #define ATA_SET_MAX_PASSWD 0x01 330 #define ATA_SET_MAX_LOCK 0x02 331 #define ATA_SET_MAX_UNLOCK 0x03 332 #define ATA_SET_MAX_FREEZE_LOCK 0x04 333 #define ATA_SET_MAX_ADDR 0x00 334 #define ATA_SET_MAX_PASSWD 0x01 335 #define ATA_SET_MAX_LOCK 0x02 336 #define ATA_SET_MAX_UNLOCK 0x03 337 #define ATA_SET_MAX_FREEZE_LOCK 0x04 333 338 334 339 /* feature values for DEVICE CONFIGURATION OVERLAY */ 335 #define ATA_DCO_RESTORE 0xC0 336 #define ATA_DCO_FREEZE_LOCK 0xC1 337 #define ATA_DCO_IDENTIFY 0xC2 338 #define ATA_DCO_SET 0xC3 340 #define ATA_DCO_RESTORE 0xC0 341 #define ATA_DCO_FREEZE_LOCK 0xC1 342 #define ATA_DCO_IDENTIFY 0xC2 343 #define ATA_DCO_SET 0xC3 339 344 340 345 /* feature values for SMART */ 341 #define ATA_SMART_ENABLE 0xD8 342 #define ATA_SMART_READ_VALUES 0xD0 343 #define ATA_SMART_READ_THRESHOLDS 0xD1 346 #define ATA_SMART_ENABLE 0xD8 347 #define ATA_SMART_READ_VALUES 0xD0 348 #define ATA_SMART_READ_THRESHOLDS 0xD1 344 349 345 350 /* feature values for Data Set Management */ 346 #define ATA_DSM_TRIM 0x01 351 #define ATA_DSM_TRIM 0x01 347 352 348 353 /* password used in LBA Mid / LBA High for executing SMART commands */ 349 #define ATA_SMART_LBAM_PASS 0x4F 350 #define ATA_SMART_LBAH_PASS 0xC2 354 #define ATA_SMART_LBAM_PASS 0x4F 355 #define ATA_SMART_LBAH_PASS 0xC2 351 356 352 357 /* ATAPI stuff */ 353 #define ATAPI_PKT_DMA (1U << 0) 358 #define ATAPI_PKT_DMA (1U << 0) 354 359 #define ATAPI_DMADIR (1U << 2) /* ATAPI data dir: 355 360 0=to device, 1=to host */ -
trunk/src/os2ahci/atapi.c
r82 r87 2 2 * atapi.c - ATAPI command processing 3 3 * 4 * Copyright (c) 2010 Christian Mueller, Markus Thielen. 5 * Parts copied from/inspired by the Linux AHCI driver; 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 6 10 * those parts are (c) Linux AHCI/ATA maintainers 7 11 * … … 105 109 } 106 110 } while (rc > 0 && sg_cnt > 0); 107 111 108 112 if (rc == 0) { 109 113 add_workspace(iorb)->blocks = count; … … 180 184 iorb_seterr(iorb, IOERR_DEVICE_NONSPECIFIC); 181 185 } 182 186 183 187 return(rc); 184 188 } … … 234 238 pcdb->cmd = ATAPI_CMD_REQUEST_SENSE; 235 239 pcdb->trans_len = (u8) sense_buf_len; 236 240 237 241 aws->ppfunc = atapi_req_sense_pp; 238 242 rc = ata_cmd(ad_infos + iorb_unit_adapter(iorb), … … 327 331 iorb_seterr(iorb, IOERR_CMD_ABORTED); 328 332 break; 329 333 330 334 default: 331 335 iorb_seterr(iorb, IOERR_DEVICE_NONSPECIFIC); … … 344 348 * returns 0 on success, != 0 if the command can't be converted. 345 349 */ 346 int atapi_pad_cdb(u8 _far *cmd_in, u16 cmd_in_len, 350 int atapi_pad_cdb(u8 _far *cmd_in, u16 cmd_in_len, 347 351 u8 _far *cmd_out, u16 _far *cmd_out_len) 348 352 { -
trunk/src/os2ahci/atapi.h
r68 r87 2 2 * atapi.h - ATAPI structures and macros for os2ahci driver 3 3 * 4 * Copyright (c) 2010 Christian Mueller, Markus Thielen. 5 * Parts copied from/inspired by the Linux AHCI driver; 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 6 10 * those parts are (c) Linux AHCI/ATA maintainers 7 11 * -
trunk/src/os2ahci/ctxhook.c
r82 r87 2 2 * ctxhook.c - context hooks (kernel thread functions) for os2ahci 3 3 * 4 * Copyright (c) 2010 Christian Mueller. Parts copied from/inspired by the 5 * Linux AHCI driver; those parts are (c) Linux AHCI/ATA maintainers 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 10 * those parts are (c) Linux AHCI/ATA maintainers 6 11 * 7 12 * This program is free software; you can redistribute it and/or modify … … 49 54 /****************************************************************************** 50 55 * Port restart context hook. This context hook is executed at task time and 51 * will handle ports which are stopped due to a device error condition. 56 * will handle ports which are stopped due to a device error condition. 52 57 * 53 58 * The following conditions may exist: … … 257 262 * execution. This is primarily used for timeout 258 263 * handling and when IORBs are requested to be aborted. 259 * 264 * 260 265 * After resetting the requested ports, all remaining active IORBs on those 261 266 * ports have to be retried or aborted. Whether a retry is attempted depends … … 332 337 * release the spinlock while doing so. The adapter is marked as 333 338 * 'busy' to prevent similar routines (e.g. an ahci port scan) from 334 * interfering. 339 * interfering. 335 340 */ 336 341 ai->busy = 1; -
trunk/src/os2ahci/ioctl.c
r86 r87 2 2 * ioctl.c - Generic IOCTL command processing 3 3 * 4 * Copyright (c) 2010 Christian Mueller. Parts copied from/inspired by the 5 * Linux AHCI driver; those parts are (c) Linux AHCI/ATA maintainers 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 10 * those parts are (c) Linux AHCI/ATA maintainers 6 11 * 7 12 * This program is free software; you can redistribute it and/or modify … … 221 226 * so we can use spinlocks to protect the time between checking the 222 227 * IORB_DONE flag and calling ProcBlock. 223 * 228 * 224 229 * However, if OS2AHCI_SMP is not defined, we're emulating spinlocks 225 230 * via disabling interrupts and there's a sanity check in the emulation -
trunk/src/os2ahci/ioctl.h
r84 r87 2 2 * ioctl.h - IOCTL structures and constants for os2ahci driver 3 3 * 4 * Copyright (c) 2010 Christian Mueller. Parts copied from/inspired by the 5 * Linux AHCI driver; those parts are (c) Linux AHCI/ATA maintainers 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 10 * those parts are (c) Linux AHCI/ATA maintainers 6 11 * 7 12 * This program is free software; you can redistribute it and/or modify -
trunk/src/os2ahci/libc.c
r86 r87 2 2 * libc.c - minimal subset of C runtime library for os2ahci 3 3 * 4 * Copyright (c) 2010 Christian Mueller. Parts copied from/inspired by the 5 * Linux AHCI driver; those parts are (c) Linux AHCI/ATA maintainers 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 10 * those parts are (c) Linux AHCI/ATA maintainers 6 11 * 7 12 * This program is free software; you can redistribute it and/or modify -
trunk/src/os2ahci/os2ahci.c
r86 r87 2 2 * os2ahci.c - main file for os2ahci driver 3 3 * 4 * Copyright (c) 2010 Christian Mueller. Parts copied from/inspired by the 5 * Linux AHCI driver; those parts are (c) Linux AHCI/ATA maintainers 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 10 * those parts are (c) Linux AHCI/ATA maintainers 6 11 * 7 12 * This program is free software; you can redistribute it and/or modify … … 108 113 static char init_msg[] = "OS2AHCI driver version %d.%02d\n"; 109 114 static char exit_msg[] = "OS2AHCI driver *not* installed\n"; 110 static char eval_msg[] = ANSI_CLR_RED ANSI_CLR_BRIGHT "Evaluation version "111 "- not licensed for production use.\n" ANSI_RESET;112 115 113 116 /* ----------------------------- start of code ----------------------------- */ … … 173 176 /* print initialization message */ 174 177 cprintf(init_msg, VERSION / 100, VERSION % 100); 175 cprintf(eval_msg);176 178 177 179 /* register driver with resource manager */ … … 366 368 case OS2AHCI_IOCTL_GET_DEVLIST: 367 369 return(ioctl_get_devlist(ioctl)); 368 370 369 371 case OS2AHCI_IOCTL_PASSTHROUGH: 370 372 return(ioctl_passthrough(ioctl)); … … 834 836 dt->ADDHandle = add_handle; 835 837 dt->TotalAdapters = ad_info_cnt + 1; 836 838 837 839 /* set start of adapter and device information tables */ 838 840 pos = (char _far *) (dt->pAdapter + dt->TotalAdapters); -
trunk/src/os2ahci/os2ahci.h
r82 r87 2 2 * os2ahci.h - main header file for os2ahci driver 3 3 * 4 * Copyright (c) 2010 Christian Mueller. Parts copied from/inspired by the 5 * Linux AHCI driver; those parts are (c) Linux AHCI/ATA maintainers 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 10 * those parts are (c) Linux AHCI/ATA maintainers 6 11 * 7 12 * This program is free software; you can redistribute it and/or modify -
trunk/src/os2ahci/pci.c
r82 r87 2 2 * PCI.c - PCI constants and detection code for os2ahci driver 3 3 * 4 * Copyright (c) 2010 Christian Mueller, Markus Thielen. 5 * Parts copied from/inspired by the LINUX ahci driver; 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * Parts copied from/inspired by the Linux AHCI driver; 6 10 * those parts are (c) Linux AHCI/ATA maintainers 7 11 * … … 479 483 } 480 484 } 481 485 482 486 if (already_found || (ad_ignore & (1U << ad_indx++))) { 483 487 /* ignore this device; it has either already been found via a … … 676 680 for (i = 0; i < sizeof(ad_info->rm_bars) / sizeof(*ad_info->rm_bars); i++) { 677 681 long len = bar_resource(bus, dev_func, &resource, i); 678 682 679 683 if (len < 0) { 680 684 /* something went wrong */ -
trunk/src/os2ahci/version.h
r86 r87 1 1 /****************************************************************************** 2 3 version.h - define version numbers and strings for OS2AHCI.ADD 4 5 NOTE: this is kept in a separate file for easier parsing by 6 bldlvl.cmd (which creates the bldlevel signature) 7 8 ******************************************************************************/ 2 * version.h - define version numbers and strings for OS2AHCI.ADD 3 * 4 * Copyright (c) 2011 thi.guten Software Development 5 * Copyright (c) 2011 Mensys B.V. 6 * 7 * Authors: Christian Mueller, Markus Thielen 8 * 9 * 10 * NOTE: this is kept in a separate file for easier parsing by 11 * bldlvl.cmd (which creates the bldlevel signature) 12 * 13 */ 9 14 10 15
Note:
See TracChangeset
for help on using the changeset viewer.