ata_std_bios_param(9)
πΎ ata_std_bios_param(9) β the Kernel API Manual page bestie edition π
okay so this is a page out of the Kernel API Manual (ata_std_bios_param(9)), and honestly? it's short, it's sweet, and it does exactly one (1) thing. let's get into it β¨
πΈ NAME πΈ
ata_std_bios_param β the generic bios head/sector/cylinder calculator that sd uses. that's it. that's the whole job. π
β¨ SYNOPSIS β¨
int ata_std_bios_param (struct scsi_device *sdev , struct gendisk
*unused , sector_t capacity , int geom[] );
four args, one int back. no cap, that's the whole signature π«Ά
π¦ ARGUMENTS π¦
sdevβ the SCSI device whose BIOS geometry we're trying to figure out. main character of this function, lowkey πunusedβ thegendiskthat's associated withsdev. yeah. it's in the name. it's giving "present but not participating" πcapacityβ the capacity of the SCSI device. the actual size, the number that matters πgeomβ the location where the geometry gets written out. the output slot. the little drop-off point for the results π¦
π DESCRIPTION π
so basically this is the generic bios head/sector/cylinder calculator that sd uses. iconic behavior, no notes.
here's the tea though: most BIOSes nowadays expect a XXX/255/16 (CHS) mapping. literally that's the vibe they're all on. and if you don't use it? some situations may arise where the disk is not bootable. π not a drill, not a joke β the disk just won't boot. so yeah, do the mapping. slay, but responsibly.
π LOCKING π
locking is defined by the SCSI layer. and honestly? we don't really care. the audacity, the confidence, the main character energy of that sentence. periodt π§
β RETURN β
Zero. that's it. zero. the most chill return value in the whole kernel. π
fr fr, that's the entire return section. some functions return errors, some return counts, this one returns Zero and goes to sleep π΄
π₯ SEE ALSO π₯
bestie, buckle up, this list is long and we're listing every single one of them, no skipping, iykyk π
- Kernel file
./drivers/ata/libata-scsi.c ata_scsi_set_passthru_sense_fields(9)ata_scsi_unlock_native_capacity(9)ata_get_identity(9)ata_cmd_ioctl(9)ata_task_ioctl(9)ata_scsi_qc_new(9)ata_to_sense_error(9)ata_gen_ata_sense(9)ata_scsi_dma_need_drain(9)ata_scsi_sdev_init(9)ata_scsi_sdev_configure(9)ata_scsi_sdev_destroy(9)ata_scsi_start_stop_xlat(9)ata_scsi_flush_xlat(9)scsi_6_lba_len(9)scsi_10_lba_len(9)scsi_16_lba_len(9)scsi_dld(9)ata_scsi_verify_xlat(9)ata_scsi_rw_xlat(9)ata_scsi_translate(9)ata_scsi_rbuf_fill(9)ata_scsiop_inq_std(9)ata_scsiop_inq_00(9)ata_scsiop_inq_80(9)ata_scsiop_inq_83(9)ata_scsiop_inq_89(9)ata_dsm_trim_pages(9)ata_scsiop_inq_b0(9)ata_scsiop_inq_b1(9)ata_scsiop_inq_b2(9)ata_scsiop_inq_b6(9)ata_scsiop_inq_b9(9)ata_scsiop_inquiry(9)modecpy(9)ata_msense_caching(9)ata_msense_control(9)ata_msense_rw_recovery(9)ata_scsiop_mode_sense(9)ata_scsiop_read_cap(9)ata_scsiop_report_luns(9)atapi_xlat(9)ata_scsi_find_dev(9)ata_scsi_pass_thru(9)ata_format_dsm_trim_descr(9)ata_scsi_write_same_xlat(9)ata_scsiop_maint_in(9)ata_scsi_report_zones_complete(9)ata_mselect_caching(9)ata_mselect_control(9)ata_scsi_mode_select_xlat(9)ata_scsi_var_len_cdb_xlat(9)ata_get_xlat_func(9)ata_scsi_simulate(9)ata_scsi_queuecmd(9)ata_scsi_offline_dev(9)ata_scsi_remove_dev(9)ata_scsi_media_change_notify(9)ata_scsi_hotplug(9)ata_scsi_user_scan(9)ata_scsi_dev_rescan(9)
okay that's all of them. every last one. i counted, i double-checked, we are not dropping any of these π β¨
anyway that's the whole page! this lil manpage lives at ./drivers/ata, dated October 2026, and the version on the tin is ata_std_bios_param(9) β go read it, it's giving short king ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms