summaryrefslogtreecommitdiffstats
path: root/sys/netncp/ncp_lib.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2007-10-24 12:49:55 +0000
committerjhb <jhb@FreeBSD.org>2007-10-24 12:49:55 +0000
commit7781c2181af1113baab38322a55a90b5469cba03 (patch)
tree1725f6452f05060ccef39f3d841cfc1b579ad21a /sys/netncp/ncp_lib.h
parent622324e2217a2bda098832b540db064fa22a1901 (diff)
downloadFreeBSD-src-7781c2181af1113baab38322a55a90b5469cba03.zip
FreeBSD-src-7781c2181af1113baab38322a55a90b5469cba03.tar.gz
Rework the read/write support in the bios disk driver some to cut down
on duplicated code and support 64-bit LBAs for GPT. - The code to manage an EDD or C/H/S I/O request are now in their own routines. The EDD routine now handles a full 64-bit LBA instead of truncating LBAs to the lower 32-bits. (MBRs and BSD labels only have 32-bit LBAs anyway, so the only LBAs ever passed down were 32-bit). - All of the bounce buffer and retry logic duplicated in bd_read() and bd_write() are merged into a single bd_io() routine that takes an extra direction argument. bd_read() and bd_write() are now simple wrappers around bd_io(). - If a disk supports EDD then always use it rather than only using it if the cylinder is > 1023. Other parts of the boot code already do something similar to this. Also, GPT just uses LBAs, so for a GPT disk it's probably best to ignore C/H/S completely. Always using EDD when it is supported by a disk is an easy way to accomplish this. MFC after: 1 week
Diffstat (limited to 'sys/netncp/ncp_lib.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud