MFC: sys/conf/files.sparc64 1.94; sys/sparc64/include/md_var.h 1.17;

sys/sparc64/sparc64/ata_machdep.c 1.1

The Sun disk label only uses 16-bit fields for cylinders, heads and
sectors so the geometry of large IDE disks has to be adjusted.
This commit is contained in:
marius 2008-03-09 14:34:26 +00:00
parent 03ab12d504
commit 108519b65a
3 changed files with 17 additions and 0 deletions

View File

@ -105,6 +105,7 @@ sparc64/pci/psycho.c optional pci
sparc64/sbus/dma_sbus.c optional sbus
sparc64/sbus/sbus.c optional sbus
sparc64/sbus/lsi64854.c optional sbus
sparc64/sparc64/ata_machdep.c optional atadisk
sparc64/sparc64/autoconf.c standard
sparc64/sparc64/bus_machdep.c standard
sparc64/sparc64/cache.c standard

View File

@ -60,4 +60,17 @@ cpu_block_zero_t spitfire_block_zero;
extern cpu_block_copy_t *cpu_block_copy;
extern cpu_block_zero_t *cpu_block_zero;
/*
* Given that the Sun disk label only uses 16-bit fields for cylinders,
* heads and sectors we might need to adjust the geometry of large IDE
* disks.
* We have to have a knowledge that a device_t is a struct device * here
* to avoid including too many things from this file.
*/
struct disk;
struct device;
void sparc64_ad_firmware_geom_adjust(struct device *dev, struct disk *disk);
#define ad_firmware_geom_adjust(dev, dsk) \
sparc64_ad_firmware_geom_adjust(dev, dsk)
#endif /* !_MACHINE_MD_VAR_H_ */

View File

@ -28,6 +28,9 @@
__FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/bio.h>
#include <sys/bus.h>
#include <sys/conf.h>
#include <geom/geom_disk.h>
#include <machine/md_var.h>