PERFORCE change 28543 for review
John Baldwin
jhb at FreeBSD.org
Tue Apr 8 12:02:39 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=28543
Change 28543 by jhb at jhb_laptop on 2003/04/08 12:02:18
IFC @28536.
Affected files ...
.. //depot/projects/smpng/sys/alpha/alpha/busdma_machdep.c#13 integrate
.. //depot/projects/smpng/sys/boot/common/bootstrap.h#6 integrate
.. //depot/projects/smpng/sys/cam/cam_periph.c#9 integrate
.. //depot/projects/smpng/sys/conf/files#70 integrate
.. //depot/projects/smpng/sys/conf/options.i386#25 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-all.c#35 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-all.h#15 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#7 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-disk.c#28 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-dma.c#29 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-pci.c#29 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-pci.h#4 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-raid.c#18 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-raid.h#12 integrate
.. //depot/projects/smpng/sys/dev/cardbus/cardbus_cis.c#13 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed.c#12 integrate
.. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#27 integrate
.. //depot/projects/smpng/sys/dev/fxp/if_fxpreg.h#6 integrate
.. //depot/projects/smpng/sys/dev/pccard/pccard.c#19 integrate
.. //depot/projects/smpng/sys/dev/pccard/pccardvar.h#11 integrate
.. //depot/projects/smpng/sys/dev/pccbb/pccbb.c#25 integrate
.. //depot/projects/smpng/sys/dev/puc/pucdata.c#12 integrate
.. //depot/projects/smpng/sys/dev/snc/dp83932.c#5 integrate
.. //depot/projects/smpng/sys/dev/stg/tmc18c30.h#1 branch
.. //depot/projects/smpng/sys/dev/stg/tmc18c30_isa.c#5 integrate
.. //depot/projects/smpng/sys/dev/stg/tmc18c30_pccard.c#8 integrate
.. //depot/projects/smpng/sys/dev/stg/tmc18c30_pci.c#1 branch
.. //depot/projects/smpng/sys/dev/stg/tmc18c30_subr.c#1 branch
.. //depot/projects/smpng/sys/dev/usb/if_kue.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#27 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs.h#28 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs_data.h#28 integrate
.. //depot/projects/smpng/sys/dev/usb/uvisor.c#4 integrate
.. //depot/projects/smpng/sys/dev/vx/if_vx.c#9 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wi_pccard.c#13 integrate
.. //depot/projects/smpng/sys/i386/conf/NOTES#54 integrate
.. //depot/projects/smpng/sys/i386/conf/PAE#1 branch
.. //depot/projects/smpng/sys/i386/i386/busdma_machdep.c#14 integrate
.. //depot/projects/smpng/sys/i386/i386/mp_clock.c#5 integrate
.. //depot/projects/smpng/sys/i386/i386/swtch.s#17 integrate
.. //depot/projects/smpng/sys/i386/i386/tsc.c#3 integrate
.. //depot/projects/smpng/sys/i386/include/pmap.h#15 integrate
.. //depot/projects/smpng/sys/i386/include/vmparam.h#3 integrate
.. //depot/projects/smpng/sys/i386/isa/mca_machdep.c#4 delete
.. //depot/projects/smpng/sys/i386/isa/mca_machdep.h#2 delete
.. //depot/projects/smpng/sys/i386/isa/vesa.c#7 integrate
.. //depot/projects/smpng/sys/ia64/conf/GENERIC#30 integrate
.. //depot/projects/smpng/sys/ia64/conf/SKI#12 integrate
.. //depot/projects/smpng/sys/ia64/ia64/busdma_machdep.c#13 integrate
.. //depot/projects/smpng/sys/ia64/ia64/exception.s#23 integrate
.. //depot/projects/smpng/sys/ia64/ia64/locore.s#16 integrate
.. //depot/projects/smpng/sys/ia64/ia64/sscdisk.c#13 integrate
.. //depot/projects/smpng/sys/kern/kern_mac.c#20 integrate
.. //depot/projects/smpng/sys/kern/kern_physio.c#8 integrate
.. //depot/projects/smpng/sys/kern/kern_thr.c#3 integrate
.. //depot/projects/smpng/sys/kern/kern_thread.c#23 integrate
.. //depot/projects/smpng/sys/kern/link_elf.c#19 integrate
.. //depot/projects/smpng/sys/kern/uipc_cow.c#10 integrate
.. //depot/projects/smpng/sys/kern/uipc_mbuf.c#16 integrate
.. //depot/projects/smpng/sys/kern/vfs_aio.c#37 integrate
.. //depot/projects/smpng/sys/kern/vfs_bio.c#41 integrate
.. //depot/projects/smpng/sys/modules/stg/Makefile#2 integrate
.. //depot/projects/smpng/sys/net/if_disc.c#7 integrate
.. //depot/projects/smpng/sys/net/if_faith.c#14 integrate
.. //depot/projects/smpng/sys/net/if_loop.c#16 integrate
.. //depot/projects/smpng/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#5 integrate
.. //depot/projects/smpng/sys/netgraph/ng_base.c#14 integrate
.. //depot/projects/smpng/sys/netgraph/ng_iface.c#8 integrate
.. //depot/projects/smpng/sys/netinet/ip_divert.c#23 integrate
.. //depot/projects/smpng/sys/netinet/ip_input.c#32 integrate
.. //depot/projects/smpng/sys/netinet/ip_mroute.c#22 integrate
.. //depot/projects/smpng/sys/netinet/ip_output.c#35 integrate
.. //depot/projects/smpng/sys/netipsec/keysock.c#4 integrate
.. //depot/projects/smpng/sys/netkey/keysock.c#14 integrate
.. //depot/projects/smpng/sys/netnatm/natm.c#10 integrate
.. //depot/projects/smpng/sys/pci/agp_if.m#2 integrate
.. //depot/projects/smpng/sys/pci/if_rl.c#24 integrate
.. //depot/projects/smpng/sys/pci/if_xl.c#22 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/busdma_machdep.c#8 integrate
.. //depot/projects/smpng/sys/sparc64/include/cache.h#7 integrate
.. //depot/projects/smpng/sys/sparc64/include/cpufunc.h#17 integrate
.. //depot/projects/smpng/sys/sparc64/include/iommuvar.h#8 integrate
.. //depot/projects/smpng/sys/sparc64/include/kerneldump.h#2 integrate
.. //depot/projects/smpng/sys/sparc64/include/md_var.h#11 integrate
.. //depot/projects/smpng/sys/sparc64/include/ofw_mem.h#2 integrate
.. //depot/projects/smpng/sys/sparc64/include/pmap.h#22 integrate
.. //depot/projects/smpng/sys/sparc64/include/smp.h#13 integrate
.. //depot/projects/smpng/sys/sparc64/include/tsb.h#10 integrate
.. //depot/projects/smpng/sys/sparc64/include/watch.h#2 integrate
.. //depot/projects/smpng/sys/sparc64/pci/psycho.c#18 integrate
.. //depot/projects/smpng/sys/sparc64/pci/psychovar.h#7 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/bus_machdep.c#14 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/cheetah.c#2 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/db_hwwatch.c#4 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/dump_machdep.c#4 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/iommu.c#13 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#46 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/mem.c#7 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/mp_machdep.c#17 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#36 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/spitfire.c#2 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/tsb.c#19 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/vm_machdep.c#30 integrate
.. //depot/projects/smpng/sys/sys/mbuf.h#20 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_rawread.c#2 integrate
.. //depot/projects/smpng/sys/vm/vm_pager.c#11 integrate
Differences ...
==== //depot/projects/smpng/sys/alpha/alpha/busdma_machdep.c#13 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.33 2003/03/20 19:45:26 mux Exp $
+ * $FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.34 2003/04/08 14:25:44 des Exp $
*/
#include <sys/param.h>
@@ -667,8 +667,7 @@
KASSERT(dmat->lowaddr >= ptoa(Maxmem) || map != NULL,
("bus_dmamap_load_mbuf: No support for bounce pages!"));
- KASSERT(m0->m_flags & M_PKTHDR,
- ("bus_dmamap_load_mbuf: no packet header"));
+ M_ASSERTPKTHDR(m0);
nsegs = 0;
error = 0;
==== //depot/projects/smpng/sys/boot/common/bootstrap.h#6 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.36 2002/03/10 22:33:04 sobomax Exp $
+ * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.37 2003/04/06 06:28:08 peter Exp $
*/
#include <sys/types.h>
@@ -231,9 +231,6 @@
/* MI module loaders */
-int aout_loadfile(char *filename, vm_offset_t dest, struct preloaded_file **result);
-vm_offset_t aout_findsym(char *name, struct preloaded_file *fp);
-
int elf_loadfile(char *filename, vm_offset_t dest, struct preloaded_file **result);
/*
==== //depot/projects/smpng/sys/cam/cam_periph.c#9 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/cam/cam_periph.c,v 1.47 2003/03/15 21:59:05 phk Exp $
+ * $FreeBSD: src/sys/cam/cam_periph.c,v 1.48 2003/04/06 22:21:03 alc Exp $
*/
#include <sys/param.h>
@@ -605,29 +605,10 @@
if (dirs[i] & CAM_DIR_OUT) {
flags[i] = BIO_WRITE;
- if (!useracc(*data_ptrs[i], lengths[i],
- VM_PROT_READ)) {
- printf("cam_periph_mapmem: error, "
- "address %p, length %lu isn't "
- "user accessible for READ\n",
- (void *)*data_ptrs[i],
- (u_long)lengths[i]);
- return(EACCES);
- }
}
if (dirs[i] & CAM_DIR_IN) {
flags[i] = BIO_READ;
- if (!useracc(*data_ptrs[i], lengths[i],
- VM_PROT_WRITE)) {
- printf("cam_periph_mapmem: error, "
- "address %p, length %lu isn't "
- "user accessible for WRITE\n",
- (void *)*data_ptrs[i],
- (u_long)lengths[i]);
-
- return(EACCES);
- }
}
}
==== //depot/projects/smpng/sys/conf/files#70 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.777 2003/04/04 18:53:04 phk Exp $
+# $FreeBSD: src/sys/conf/files,v 1.778 2003/04/07 10:13:25 mdodd Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -723,8 +723,10 @@
dev/sr/if_sr_pci.c optional sr pci
dev/streams/streams.c optional streams
dev/stg/tmc18c30.c optional stg
+dev/stg/tmc18c30_subr.c optional stg
dev/stg/tmc18c30_pccard.c optional stg card
dev/stg/tmc18c30_pccard.c optional stg pccard
+dev/stg/tmc18c30_pci.c optional stg pci
dev/stg/tmc18c30_isa.c optional stg isa
dev/sym/sym_hipd.c optional sym \
dependency "$S/dev/sym/sym_{conf,defs}.h"
==== //depot/projects/smpng/sys/conf/options.i386#25 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.i386,v 1.188 2003/04/02 23:53:28 peter Exp $
+# $FreeBSD: src/sys/conf/options.i386,v 1.189 2003/04/04 23:54:46 tegge Exp $
# Options specific to the i386 platform kernels
MATH_EMULATE opt_math_emulate.h
@@ -41,6 +41,7 @@
CLK_CALIBRATION_LOOP opt_clock.h
CLK_USE_I8254_CALIBRATION opt_clock.h
CLK_USE_TSC_CALIBRATION opt_clock.h
+SMP_TSC opt_clock.h
TIMER_FREQ opt_clock.h
NO_F00F_HACK opt_cpu.h
==== //depot/projects/smpng/sys/dev/ata/ata-all.c#35 (text+ko) ====
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ata/ata-all.c,v 1.176 2003/04/01 15:06:23 phk Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-all.c,v 1.177 2003/04/07 14:12:12 sos Exp $
*/
#include "opt_ata.h"
@@ -447,7 +447,7 @@
/* apparently some devices needs this repeated */
do {
if (ata_command(atadev, command, 0, 0, 0,
- dumping ? ATA_WAIT_READY : ATA_WAIT_INTR)) { /* XXX */
+ dumping ? ATA_WAIT_READY : ATA_WAIT_INTR)) {
ata_prtdev(atadev, "%s identify failed\n",
command == ATA_C_ATAPI_IDENTIFY ? "ATAPI" : "ATA");
free(ata_parm, M_ATA);
==== //depot/projects/smpng/sys/dev/ata/ata-all.h#15 (text+ko) ====
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.60 2003/03/29 13:37:09 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.61 2003/04/07 14:12:12 sos Exp $
*/
/* ATA register defines */
@@ -145,6 +145,7 @@
#define ATA_BMCMD_START_STOP 0x01
#define ATA_BMCMD_WRITE_READ 0x08
+#define ATA_BMCTL_PORT 0x09
#define ATA_BMDEVSPEC_0 0x0a
#define ATA_BMSTAT_PORT 0x0b
#define ATA_BMSTAT_ACTIVE 0x01
@@ -158,6 +159,8 @@
#define ATA_BMDEVSPEC_1 0x0c
#define ATA_BMDTP_PORT 0x0d
+#define ATA_IDX_ADDR 0x0e
+#define ATA_IDX_DATA 0x0f
#define ATA_MAX_RES 0x10
/* structure for holding DMA address data */
@@ -207,7 +210,6 @@
int (*setup)(struct ata_device *, caddr_t, int32_t);
int (*start)(struct ata_channel *, caddr_t, int32_t, int);
int (*stop)(struct ata_channel *);
- int (*status)(struct ata_channel *);
};
/* structure holding resources for an ATA channel */
@@ -365,31 +367,102 @@
bus_space_write_multi_stream_4(rman_get_bustag((res)), \
rman_get_bushandle((res)), \
(offset), (addr), (count))
+
+#define ATA_IDX_SET(ch, idx) \
+ ATA_OUTB(ch->r_io[ATA_IDX_ADDR].res, ch->r_io[ATA_IDX_ADDR].offset, \
+ ch->r_io[idx].offset)
+
#define ATA_IDX_INB(ch, idx) \
- ATA_INB(ch->r_io[idx].res, ch->r_io[idx].offset)
+ ((ch->r_io[idx].res) \
+ ? ATA_INB(ch->r_io[idx].res, ch->r_io[idx].offset) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_INB(ch->r_io[ATA_IDX_DATA].res, ch->r_io[ATA_IDX_DATA].offset)))
+
#define ATA_IDX_INW(ch, idx) \
- ATA_INW(ch->r_io[idx].res, ch->r_io[idx].offset)
+ ((ch->r_io[idx].res) \
+ ? ATA_INW(ch->r_io[idx].res, ch->r_io[idx].offset) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_INW(ch->r_io[ATA_IDX_DATA].res, ch->r_io[ATA_IDX_DATA].offset)))
+
#define ATA_IDX_INL(ch, idx) \
- ATA_INL(ch->r_io[idx].res, ch->r_io[idx].offset)
+ ((ch->r_io[idx].res) \
+ ? ATA_INL(ch->r_io[idx].res, ch->r_io[idx].offset) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_INL(ch->r_io[ATA_IDX_DATA].res, ch->r_io[ATA_IDX_DATA].offset)))
+
#define ATA_IDX_INSW(ch, idx, addr, count) \
- ATA_INSW(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count)
+ ((ch->r_io[idx].res) \
+ ? ATA_INSW(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_INSW(ch->r_io[ATA_IDX_DATA].res, \
+ ch->r_io[ATA_IDX_DATA].offset, addr, count)))
+
#define ATA_IDX_INSW_STRM(ch, idx, addr, count) \
- ATA_INSW_STRM(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count)
+ ((ch->r_io[idx].res) \
+ ? ATA_INSW_STRM(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_INSW_STRM(ch->r_io[ATA_IDX_DATA].res, \
+ ch->r_io[ATA_IDX_DATA].offset, addr, count)))
+
#define ATA_IDX_INSL(ch, idx, addr, count) \
- ATA_INSL(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count)
+ ((ch->r_io[idx].res) \
+ ? ATA_INSL(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_INSL(ch->r_io[ATA_IDX_DATA].res, \
+ ch->r_io[ATA_IDX_DATA].offset, addr, count)))
+
#define ATA_IDX_INSL_STRM(ch, idx, addr, count) \
- ATA_INSL_STRM(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count)
+ ((ch->r_io[idx].res) \
+ ? ATA_INSL_STRM(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_INSL_STRM(ch->r_io[ATA_IDX_DATA].res, \
+ ch->r_io[ATA_IDX_DATA].offset, addr, count)))
+
#define ATA_IDX_OUTB(ch, idx, value) \
- ATA_OUTB(ch->r_io[idx].res, ch->r_io[idx].offset, value)
+ ((ch->r_io[idx].res) \
+ ? ATA_OUTB(ch->r_io[idx].res, ch->r_io[idx].offset, value) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_OUTB(ch->r_io[ATA_IDX_DATA].res, \
+ ch->r_io[ATA_IDX_DATA].offset, value)))
+
#define ATA_IDX_OUTW(ch, idx, value) \
- ATA_OUTW(ch->r_io[idx].res, ch->r_io[idx].offset, value)
+ ((ch->r_io[idx].res) \
+ ? ATA_OUTW(ch->r_io[idx].res, ch->r_io[idx].offset, value) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_OUTW(ch->r_io[ATA_IDX_DATA].res, \
+ ch->r_io[ATA_IDX_DATA].offset, value)))
+
#define ATA_IDX_OUTL(ch, idx, value) \
- ATA_OUTL(ch->r_io[idx].res, ch->r_io[idx].offset, value)
+ ((ch->r_io[idx].res) \
+ ? ATA_OUTL(ch->r_io[idx].res, ch->r_io[idx].offset, value) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_OUTL(ch->r_io[ATA_IDX_DATA].res, \
+ ch->r_io[ATA_IDX_DATA].offset, value)))
+
#define ATA_IDX_OUTSW(ch, idx, addr, count) \
- ATA_OUTSW(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count)
+ ((ch->r_io[idx].res) \
+ ? ATA_OUTSW(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_OUTSW(ch->r_io[ATA_IDX_DATA].res, \
+ ch->r_io[ATA_IDX_DATA].offset, addr, count)))
+
#define ATA_IDX_OUTSW_STRM(ch, idx, addr, count) \
- ATA_OUTSW_STRM(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count)
+ ((ch->r_io[idx].res) \
+ ? ATA_OUTSW_STRM(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_OUTSW_STRM(ch->r_io[ATA_IDX_DATA].res, \
+ ch->r_io[ATA_IDX_DATA].offset, addr, count)))
+
#define ATA_IDX_OUTSL(ch, idx, addr, count) \
- ATA_OUTSL(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count)
+ ((ch->r_io[idx].res) \
+ ? ATA_OUTSL(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_OUTSL(ch->r_io[ATA_IDX_DATA].res, \
+ ch->r_io[ATA_IDX_DATA].offset, addr, count)))
+
#define ATA_IDX_OUTSL_STRM(ch, idx, addr, count) \
- ATA_OUTSL_STRM(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count)
+ ((ch->r_io[idx].res) \
+ ? ATA_OUTSL_STRM(ch->r_io[idx].res, ch->r_io[idx].offset, addr, count) \
+ : (ATA_IDX_SET(ch, idx), \
+ ATA_OUTSL_STRM(ch->r_io[ATA_IDX_DATA].res, \
+ ch->r_io[ATA_IDX_DATA].offset, addr, count)))
==== //depot/projects/smpng/sys/dev/ata/ata-chipset.c#7 (text+ko) ====
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.16 2003/03/29 13:37:09 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.17 2003/04/07 14:12:12 sos Exp $
*/
#include "opt_ata.h"
#include <sys/param.h>
@@ -135,7 +135,8 @@
if (!(ch = ctlr->interrupt[unit].argument))
continue;
if (ch->dma->flags & ATA_DMA_ACTIVE) {
- if (!((dmastat = ch->dma->status(ch)) & ATA_BMSTAT_INTERRUPT))
+ if (!((dmastat = (ATA_IDX_INB(ch, ATA_BMSTAT_PORT) &
+ ATA_BMSTAT_MASK)) & ATA_BMSTAT_INTERRUPT))
continue;
ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, dmastat|ATA_BMSTAT_INTERRUPT);
DELAY(1);
@@ -220,7 +221,8 @@
continue;
ch = ctlr->interrupt[unit].argument;
if (ch->dma->flags & ATA_DMA_ACTIVE) {
- if (!((dmastat = ch->dma->status(ch)) & ATA_BMSTAT_INTERRUPT))
+ if (!((dmastat = (ATA_IDX_INB(ch, ATA_BMSTAT_PORT) &
+ ATA_BMSTAT_MASK)) & ATA_BMSTAT_INTERRUPT))
continue;
ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, dmastat|ATA_BMSTAT_INTERRUPT);
DELAY(1);
@@ -480,7 +482,7 @@
if (ata_default_interrupt(dev))
return ENXIO;
- if (ctlr->r_bmio)
+ if (ctlr->r_io1)
ctlr->setmode = ata_cyrix_setmode;
else
ctlr->setmode = ata_generic_setmode;
@@ -664,7 +666,7 @@
for (unit = 0; unit < 2; unit++) {
if (!(ch = ctlr->interrupt[unit].argument))
continue;
- if (((dmastat = ch->dma->status(ch)) &
+ if (((dmastat = (ATA_IDX_INB(ch, ATA_BMSTAT_PORT) & ATA_BMSTAT_MASK)) &
(ATA_BMSTAT_ACTIVE | ATA_BMSTAT_INTERRUPT))!=ATA_BMSTAT_INTERRUPT)
continue;
ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, dmastat | ATA_BMSTAT_INTERRUPT);
@@ -1014,7 +1016,6 @@
}
break;
}
-
ctlr->setmode = ata_promise_setmode;
return 0;
}
@@ -1023,7 +1024,7 @@
ata_promise_old_intr(void *data)
{
struct ata_pci_controller *ctlr = data;
- struct ata_channel *ch = ctlr->interrupt[0].argument;
+ struct ata_channel *ch;
u_int8_t dmastat;
int unit;
@@ -1031,9 +1032,10 @@
for (unit = 0; unit < 2; unit++) {
if (!(ch = ctlr->interrupt[unit].argument))
continue;
- if (ATA_INL(ctlr->r_bmio, 0x1c) & (ch->unit ? 0x00004000 : 0x00000400)){
+ if (ATA_INL(ctlr->r_io1, 0x1c) & (ch->unit ? 0x00004000 : 0x00000400)) {
if (ch->dma->flags & ATA_DMA_ACTIVE) {
- if (!((dmastat = ch->dma->status(ch)) & ATA_BMSTAT_INTERRUPT))
+ if (!((dmastat = (ATA_IDX_INB(ch, ATA_BMSTAT_PORT) &
+ ATA_BMSTAT_MASK)) & ATA_BMSTAT_INTERRUPT))
continue;
ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, dmastat|ATA_BMSTAT_INTERRUPT);
DELAY(1);
@@ -1058,9 +1060,10 @@
ATA_IDX_OUTB(ch, ATA_BMDEVSPEC_0, 0x0b);
if (ATA_IDX_INB(ch, ATA_BMDEVSPEC_1) & 0x20) {
if (ch->dma->flags & ATA_DMA_ACTIVE) {
- if (!((dmastat = ch->dma->status(ch)) & ATA_BMSTAT_INTERRUPT))
+ if (!((dmastat = (ATA_IDX_INB(ch, ATA_BMSTAT_PORT) &
+ ATA_BMSTAT_MASK)) & ATA_BMSTAT_INTERRUPT))
continue;
- ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, dmastat | ATA_BMSTAT_INTERRUPT);
+ ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, dmastat|ATA_BMSTAT_INTERRUPT);
DELAY(1);
}
ctlr->interrupt[unit].function(ch);
@@ -1150,7 +1153,7 @@
static int
ata_promise_old_dmastart(struct ata_channel *ch,
- caddr_t data, int32_t count, int dir)
+ caddr_t data, int32_t count, int dir)
{
struct ata_pci_controller *ctlr =
device_get_softc(device_get_parent(ch->dev));
@@ -1158,14 +1161,19 @@
if ((error = ata_dmastart(ch, data, count, dir)))
return error;
-
if (ch->flags & ATA_48BIT_ACTIVE) {
- ATA_OUTB(ctlr->r_bmio, 0x11,
- ATA_INB(ctlr->r_bmio, 0x11) | (ch->unit ? 0x08 : 0x02));
- ATA_OUTL(ctlr->r_bmio, 0x20,
+ ATA_OUTB(ctlr->r_io1, 0x11,
+ ATA_INB(ctlr->r_io1, 0x11) | (ch->unit ? 0x08 : 0x02));
+ ATA_OUTL(ctlr->r_io1, 0x20,
(dir ? 0x05000000 : 0x06000000) | (count >> 1));
}
- return 0;
+ ATA_IDX_OUTL(ch, ATA_BMDTP_PORT, ch->dma->mdmatab);
+ ATA_IDX_OUTB(ch, ATA_BMCMD_PORT, dir ? ATA_BMCMD_WRITE_READ : 0);
+ ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, (ATA_IDX_INB(ch, ATA_BMSTAT_PORT) |
+ (ATA_BMSTAT_INTERRUPT | ATA_BMSTAT_ERROR)));
+ ATA_IDX_OUTB(ch, ATA_BMCMD_PORT,
+ ATA_IDX_INB(ch, ATA_BMCMD_PORT) | ATA_BMCMD_START_STOP);
+ return error;
}
static int
@@ -1173,13 +1181,19 @@
{
struct ata_pci_controller *ctlr =
device_get_softc(device_get_parent(ch->dev));
+ int error;
if (ch->flags & ATA_48BIT_ACTIVE) {
- ATA_OUTB(ctlr->r_bmio, 0x11,
- ATA_INB(ctlr->r_bmio, 0x11) & ~(ch->unit ? 0x08 : 0x02));
- ATA_OUTL(ctlr->r_bmio, 0x20, 0);
+ ATA_OUTB(ctlr->r_io1, 0x11,
+ ATA_INB(ctlr->r_io1, 0x11) & ~(ch->unit ? 0x08 : 0x02));
+ ATA_OUTL(ctlr->r_io1, 0x20, 0);
}
- return ata_dmastop(ch);
+ error = ATA_IDX_INB(ch, ATA_BMSTAT_PORT);
+ ATA_IDX_OUTB(ch, ATA_BMCMD_PORT,
+ ATA_IDX_INB(ch, ATA_BMCMD_PORT) & ~ATA_BMCMD_START_STOP);
+ ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, ATA_BMSTAT_INTERRUPT | ATA_BMSTAT_ERROR);
+ ata_dmastop(ch);
+ return error;
}
/*
@@ -1351,7 +1365,8 @@
pci_write_config(device_get_parent(ch->dev), 0x71,
(ch->unit ? 0x08 : 0x04), 1);
if (ch->dma->flags & ATA_DMA_ACTIVE) {
- if (!((dmastat = ch->dma->status(ch)) & ATA_BMSTAT_INTERRUPT))
+ if (!((dmastat = (ATA_IDX_INB(ch, ATA_BMSTAT_PORT) &
+ ATA_BMSTAT_MASK)) & ATA_BMSTAT_INTERRUPT))
continue;
ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, dmastat | ATA_BMSTAT_INTERRUPT);
DELAY(1);
==== //depot/projects/smpng/sys/dev/ata/ata-disk.c#28 (text+ko) ====
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.150 2003/04/01 15:06:23 phk Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.151 2003/04/07 14:14:29 sos Exp $
*/
#include "opt_ata.h"
@@ -203,14 +203,10 @@
ata_enclosure_print(atadev);
- /* if this disk belongs to an ATA RAID dont print the probe */
- if (ata_raiddisk_attach(adp))
- adp->flags |= AD_F_RAID_SUBDISK;
- else {
- if (atadev->driver) {
+ /* only print probe banner if we are not part of a RAID array */
+ if (!ata_raiddisk_attach(adp))
+ if (atadev->driver)
ad_print(adp);
- }
- }
}
void
==== //depot/projects/smpng/sys/dev/ata/ata-dma.c#29 (text+ko) ====
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ata/ata-dma.c,v 1.114 2003/03/29 13:37:09 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-dma.c,v 1.115 2003/04/07 14:12:12 sos Exp $
*/
#include <sys/param.h>
@@ -47,7 +47,6 @@
static void ata_dmafree(struct ata_channel *);
static void ata_dmasetupd_cb(void *, bus_dma_segment_t *, int, int);
static int ata_dmasetup(struct ata_device *, caddr_t, int32_t);
-static int ata_dmastatus(struct ata_channel *);
/* local vars */
static MALLOC_DEFINE(M_ATADMA, "ATA DMA", "ATA driver DMA");
@@ -73,7 +72,6 @@
ch->dma->setup = ata_dmasetup;
ch->dma->start = ata_dmastart;
ch->dma->stop = ata_dmastop;
- ch->dma->status = ata_dmastatus;
ch->dma->alignment = 2;
return 0;
}
@@ -219,12 +217,6 @@
return 0;
}
-static int
-ata_dmastatus(struct ata_channel *ch)
-{
- return ch->dma->flags & ATA_DMA_ACTIVE;
-}
-
int
ata_dmastart(struct ata_channel *ch, caddr_t data, int32_t count, int dir)
{
==== //depot/projects/smpng/sys/dev/ata/ata-pci.c#29 (text+ko) ====
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ata/ata-pci.c,v 1.58 2003/03/29 13:37:09 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-pci.c,v 1.59 2003/04/07 14:12:12 sos Exp $
*/
#include "opt_ata.h"
@@ -157,8 +157,8 @@
if ((cmd & PCIM_CMD_BUSMASTEREN) == PCIM_CMD_BUSMASTEREN) {
int rid = ATA_BMADDR_RID;
- if (!ctlr->r_mem) {
- if (!(ctlr->r_bmio = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid,
+ if (!ctlr->r_io2) {
+ if (!(ctlr->r_io1 = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid,
0, ~0, 1, RF_ACTIVE)))
device_printf(dev, "Busmastering DMA not configured\n");
}
@@ -182,7 +182,7 @@
int retval = 0;
retval += bus_print_child_header(dev, child);
- retval += printf(": at 0x%lx", rman_get_start(ch->r_io[0].res));
+ retval += printf(": at 0x%lx", rman_get_start(ch->r_io[ATA_IDX_ADDR].res));
if (ATA_MASTERDEV(dev))
retval += printf(" irq %d", 14 + ch->unit);
@@ -390,10 +390,11 @@
}
ch->r_io[ATA_ALTSTAT].res = altio;
ch->r_io[ATA_ALTSTAT].offset = 0;
+ ch->r_io[ATA_IDX_ADDR].res = io;
- if (ctlr->r_bmio) {
+ if (ctlr->r_io1) {
for (i = ATA_BMCMD_PORT; i <= ATA_BMDTP_PORT; i++) {
- ch->r_io[i].res = ctlr->r_bmio;
+ ch->r_io[i].res = ctlr->r_io1;
ch->r_io[i].offset = (i - ATA_BMCMD_PORT)+(ch->unit * ATA_BMIOSIZE);
}
@@ -420,9 +421,9 @@
ATA_IDX_OUTL(ch, ATA_BMDTP_PORT, ch->dma->mdmatab);
ATA_IDX_OUTB(ch, ATA_BMCMD_PORT, dir ? ATA_BMCMD_WRITE_READ : 0);
ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, (ATA_IDX_INB(ch, ATA_BMSTAT_PORT) |
- (ATA_BMSTAT_INTERRUPT | ATA_BMSTAT_ERROR)));
+ (ATA_BMSTAT_INTERRUPT | ATA_BMSTAT_ERROR)));
ATA_IDX_OUTB(ch, ATA_BMCMD_PORT,
- ATA_IDX_INB(ch, ATA_BMCMD_PORT) | ATA_BMCMD_START_STOP);
+ ATA_IDX_INB(ch, ATA_BMCMD_PORT) | ATA_BMCMD_START_STOP);
return 0;
}
@@ -433,7 +434,7 @@
error = ATA_IDX_INB(ch, ATA_BMSTAT_PORT);
ATA_IDX_OUTB(ch, ATA_BMCMD_PORT,
- ATA_IDX_INB(ch, ATA_BMCMD_PORT) & ~ATA_BMCMD_START_STOP);
+ ATA_IDX_INB(ch, ATA_BMCMD_PORT) & ~ATA_BMCMD_START_STOP);
ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, ATA_BMSTAT_INTERRUPT | ATA_BMSTAT_ERROR);
ata_dmastop(ch);
@@ -441,12 +442,6 @@
return (error & ATA_BMSTAT_MASK);
}
-static int
-ata_pci_dmastatus(struct ata_channel *ch)
-{
- return ATA_IDX_INB(ch, ATA_BMSTAT_PORT) & ATA_BMSTAT_MASK;
-}
-
static int
ata_pci_dmainit(struct ata_channel *ch)
{
@@ -457,7 +452,6 @@
ch->dma->start = ata_pci_dmastart;
ch->dma->stop = ata_pci_dmastop;
- ch->dma->status = ata_pci_dmastatus;
return 0;
}
==== //depot/projects/smpng/sys/dev/ata/ata-pci.h#4 (text+ko) ====
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.5 2003/03/29 13:37:09 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.6 2003/04/07 14:12:12 sos Exp $
*/
/* structure holding chipset config info */
@@ -40,8 +40,8 @@
/* structure describing a PCI ATA controller */
struct ata_pci_controller {
- struct resource *r_bmio;
- struct resource *r_mem;
+ struct resource *r_io1;
+ struct resource *r_io2;
struct resource *r_irq;
void *handle;
struct ata_chip_id *chip;
==== //depot/projects/smpng/sys/dev/ata/ata-raid.c#18 (text+ko) ====
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.58 2003/04/01 15:06:23 phk Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.61 2003/04/08 18:01:30 sos Exp $
*/
#include "opt_ata.h"
@@ -64,6 +64,7 @@
static int ar_promise_write_conf(struct ar_softc *);
static int ar_rw(struct ad_softc *, u_int32_t, int, caddr_t, int);
static struct ata_device *ar_locate_disk(int);
+static void ar_print_conf(struct ar_softc *);
/* internal vars */
static struct ar_softc **ar_table = NULL;
@@ -87,7 +88,7 @@
"inserted into ar%d disk%d as spare\n",
array, disk);
rdp->disks[disk].flags |= (AR_DF_PRESENT | AR_DF_SPARE);
- AD_SOFTC(rdp->disks[disk])->flags = AD_F_RAID_SUBDISK;
+ AD_SOFTC(rdp->disks[disk])->flags |= AD_F_RAID_SUBDISK;
ar_config_changed(rdp, 1);
return 1;
}
@@ -133,6 +134,7 @@
"deleted from ar%d disk%d\n", array, disk);
rdp->disks[disk].flags &= ~(AR_DF_PRESENT | AR_DF_ONLINE);
AD_SOFTC(rdp->disks[disk])->flags &= ~AD_F_RAID_SUBDISK;
+ rdp->disks[disk].device = NULL;
ar_config_changed(rdp, 1);
return 1;
}
@@ -154,6 +156,8 @@
for (array = 0; array < MAX_ARRAYS; array++) {
if (!(rdp = ar_table[array]) || !rdp->flags)
continue;
+ if (bootverbose)
+ ar_print_conf(rdp);
ar_attach_raid(rdp, 0);
}
}
@@ -327,7 +331,7 @@
}
for (disk = 0; disk < total_disks; disk++)
- AD_SOFTC(rdp->disks[disk])->flags = AD_F_RAID_SUBDISK;
+ AD_SOFTC(rdp->disks[disk])->flags |= AD_F_RAID_SUBDISK;
rdp->lun = array;
if (rdp->flags & AR_F_RAID0) {
@@ -492,11 +496,17 @@
case AR_F_RAID0 | AR_F_RAID1:
tmplba = blkno / rdp->interleave;
chunk = blkno % rdp->interleave;
- if (tmplba == rdp->total_sectors / rdp->interleave) {
- lbs = (rdp->total_sectors-(tmplba*rdp->interleave))/rdp->width;
- drv = chunk / lbs;
- lba = ((tmplba/rdp->width)*rdp->interleave) + chunk%lbs;
- chunk = min(count, lbs);
+ if (blkno >= (rdp->total_sectors / (rdp->interleave * rdp->width)) *
+ (rdp->interleave * rdp->width) ) {
+ lbs = (rdp->total_sectors -
+ ((rdp->total_sectors / (rdp->interleave * rdp->width)) *
+ (rdp->interleave * rdp->width))) / rdp->width;
+ drv = (blkno -
+ ((rdp->total_sectors / (rdp->interleave * rdp->width)) *
+ (rdp->interleave * rdp->width))) / lbs;
+ lba = ((tmplba / rdp->width) * rdp->interleave) +
+ (blkno - ((tmplba / rdp->width) * rdp->interleave)) % lbs;
+ chunk = min(count, lbs);
}
else {
drv = tmplba % rdp->width;
@@ -972,6 +982,7 @@
raid->flags |= AR_F_HIGHPOINT_RAID;
raid->disks[disk_number].device = adp->device;
raid->disks[disk_number].flags = (AR_DF_PRESENT | AR_DF_ASSIGNED);
+ AD_SOFTC(raid->disks[disk_number])->flags |= AD_F_RAID_SUBDISK;
raid->lun = array;
if (info->magic == HPT_MAGIC_OK) {
raid->disks[disk_number].flags |= AR_DF_ONLINE;
@@ -1232,6 +1243,8 @@
raid->disks[info->raid.disk_number].flags |= AR_DF_PRESENT;
raid->disks[info->raid.disk_number].disk_sectors =
info->raid.disk_sectors;
+ AD_SOFTC(raid->disks[info->raid.disk_number])->flags |=
+ AD_F_RAID_SUBDISK;
retval = 1;
}
break;
@@ -1427,3 +1440,31 @@
}
return NULL;
}
+
+static void
+ar_print_conf(struct ar_softc *config)
+{
+ int i;
+
+ printf("lun %d\n", config->lun);
+ printf("magic_0 0x%08x\n", config->magic_0);
+ printf("magic_1 0x%08x\n", config->magic_1);
+ printf("flags 0x%02x %b\n", config->flags, config->flags,
+ "\20\16HIGHPOINT\15PROMISE\13REBUILDING\12DEGRADED\11READY\3SPAN\2RAID1\1RAID0\n");
+ printf("total_disks %d\n", config->total_disks);
+ printf("generation %d\n", config->generation);
+ printf("width %d\n", config->width);
+ printf("heads %d\n", config->heads);
+ printf("sectors %d\n", config->sectors);
+ printf("cylinders %d\n", config->cylinders);
+ printf("total_sectors %lld\n", (long long)config->total_sectors);
+ printf("interleave %d\n", config->interleave);
+ printf("reserved %d\n", config->reserved);
+ printf("offset %d\n", config->offset);
+ for (i = 0; i < config->total_disks; i++) {
+ printf("disk %d: flags = 0x%02x %b\n", i, config->disks[i].flags, config->disks[i].flags, "\20\4ONLINE\3SPARE\2ASSIGNED\1PRESENT\n");
+ if (config->disks[i].device)
+ printf(" %s\n", config->disks[i].device->name);
+ printf(" sectors %lld\n", (long long)config->disks[i].disk_sectors);
+ }
+}
==== //depot/projects/smpng/sys/dev/ata/ata-raid.h#12 (text+ko) ====
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ata/ata-raid.h,v 1.21 2003/02/25 15:33:36 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-raid.h,v 1.22 2003/04/08 07:48:52 sos Exp $
*/
/* misc defines */
@@ -221,11 +221,10 @@
u_int32_t checksum;
} __packed;
-int ata_raiddisk_probe(struct ad_softc *);
int ata_raiddisk_attach(struct ad_softc *);
int ata_raiddisk_detach(struct ad_softc *);
void ata_raid_attach(void);
int ata_raid_create(struct raid_setup *);
int ata_raid_delete(int);
-int ata_raid_status(int array, struct raid_status *);
+int ata_raid_status(int, struct raid_status *);
int ata_raid_rebuild(int);
==== //depot/projects/smpng/sys/dev/cardbus/cardbus_cis.c#13 (text+ko) ====
@@ -25,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/cardbus/cardbus_cis.c,v 1.35 2003/02/19 05:47:01 imp Exp $
+ * $FreeBSD: src/sys/dev/cardbus/cardbus_cis.c,v 1.36 2003/04/08 07:05:16 imp Exp $
*/
/*
@@ -849,6 +849,11 @@
res = bus_alloc_resource(cbdev, SYS_RES_MEMORY, &rid, 0,
(dinfo->mprefetchable & dinfo->mbelow1mb)?0xFFFFF:~0UL,
mem_psize, flags);
+ if (res == NULL) {
+ device_printf(cbdev,
+ "Can't get memory for prefetch mem\n");
+ return (EIO);
+ }
start = rman_get_start(res);
end = rman_get_end(res);
DEVPRINTF((cbdev, "Prefetchable memory at %x-%x\n", start, end));
@@ -890,6 +895,11 @@
res = bus_alloc_resource(cbdev, SYS_RES_MEMORY, &rid, 0,
((~dinfo->mprefetchable) & dinfo->mbelow1mb)?0xFFFFF:~0UL,
mem_nsize, flags);
+ if (res == NULL) {
+ device_printf(cbdev,
+ "Can't get memory for non-prefetch mem\n");
+ return (EIO);
+ }
start = rman_get_start(res);
end = rman_get_end(res);
DEVPRINTF((cbdev, "Non-prefetchable memory at %x-%x\n",
@@ -930,6 +940,11 @@
rid = 0;
res = bus_alloc_resource(cbdev, SYS_RES_IOPORT, &rid, 0,
(dinfo->ibelow1mb)?0xFFFFF:~0UL, io_size, flags);
+ if (res == NULL) {
+ device_printf(cbdev,
+ "Can't get memory for IO ports\n");
+ return (EIO);
+ }
start = rman_get_start(res);
end = rman_get_end(res);
DEVPRINTF((cbdev, "IO port at %x-%x\n", start, end));
@@ -951,6 +966,10 @@
rid = 0;
res = bus_alloc_resource(cbdev, SYS_RES_IRQ, &rid, 0, ~0UL, 1,
RF_SHAREABLE);
+ if (res == NULL) {
+ device_printf(cbdev, "Can't get memory for irq\n");
+ return (EIO);
+ }
start = rman_get_start(res);
end = rman_get_end(res);
bus_release_resource(cbdev, SYS_RES_IRQ, rid, res);
==== //depot/projects/smpng/sys/dev/ed/if_ed.c#12 (text+ko) ====
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ed/if_ed.c,v 1.216 2003/03/25 00:07:00 jake Exp $
+ * $FreeBSD: src/sys/dev/ed/if_ed.c,v 1.217 2003/04/05 18:12:36 cognet Exp $
*/
/*
@@ -568,8 +568,8 @@
for (i = 0; i < memsize; ++i) {
if (sc->mem_start[i]) {
- device_printf(dev, "failed to clear shared memory at %x - check configuration\n",
- kvtop(sc->mem_start + i));
+ device_printf(dev, "failed to clear shared memory at %jx - check configuration\n",
+ (uintmax_t)kvtop(sc->mem_start + i));
/*
* Disable 16 bit access to shared memory
@@ -903,8 +903,8 @@
for (i = 0; i < memsize; ++i)
if (sc->mem_start[i]) {
- device_printf(dev, "failed to clear shared memory at %x - check configuration\n",
- kvtop(sc->mem_start + i));
+ device_printf(dev, "failed to clear shared memory at %jx - check configuration\n",
+ (uintmax_t)kvtop(sc->mem_start + i));
return (ENXIO);
}
return (0);
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list