Some ground work for TRIM command support for SSDs.

However, this was enough to show that mine doesn't support it, so I'm not investigating further.
This commit is contained in:
Adrien Destugues - PulkoMandy
2012-03-11 12:08:26 +01:00
parent 1d368d9b78
commit efc757f9c9
2 changed files with 14 additions and 1 deletions
@@ -1,4 +1,5 @@
/*
* Copyright 2012, Adrien Destugues, [email protected].
* Copyright 2009, Michael Lotz, [email protected].
* Copyright 2002-2003, Thomas Kurschel.
*
@@ -42,6 +43,8 @@
#define ATA_COMMAND_FLUSH_CACHE 0xe7
#define ATA_COMMAND_FLUSH_CACHE_EXT 0xea
#define ATA_COMMAND_DATA_SET_MANAGEMENT 0x06
#define ATA_COMMAND_MEDIA_EJECT 0xed
#define ATA_COMMAND_IDENTIFY_PACKET_DEVICE 0xa1
@@ -338,7 +338,17 @@ typedef struct ata_device_infoblock {
word_160_supported : 1
);
uint16 word_161_175_reserved_compact_flash_assoc[15];
uint16 word_161_167_reserved_compact_flash_assoc[7];
LBITFIELD2(
device_nominal_form_factor : 4,
word_168_bits_4_15_reserved : 12
);
LBITFIELD2(
data_set_management_support : 1,
word_169_bits_1_15_reserved : 15
);
uint16 additional_product_identifier[4];
uint16 word_174_175_reserved[2];
uint16 current_media_serial_number[30];
uint16 word_206_208_reserved[3];