sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
@@ -954,13 +954,18 @@ storvsc_init_requests(device_t dev)
bus_get_dma_tag(dev), /* parent */ bus_get_dma_tag(dev), /* parent */
1, /* alignment */ 1, /* alignment */
PAGE_SIZE, /* boundary */ PAGE_SIZE, /* boundary */
+#if defined(__i386__) && defined(PAE)
+ BUS_SPACE_MAXADDR_48BIT, /* lowaddr */
+ BUS_SPACE_MAXADDR_48BIT, /* highaddr */
+#else
BUS_SPACE_MAXADDR, /* lowaddr */ BUS_SPACE_MAXADDR, /* lowaddr */
BUS_SPACE_MAXADDR, /* highaddr */ BUS_SPACE_MAXADDR, /* highaddr */
+#endif
NULL, NULL, /* filter, filterarg */ NULL, NULL, /* filter, filterarg */
STORVSC_DATA_SIZE_MAX, /* maxsize */ STORVSC_DATA_SIZE_MAX, /* maxsize */
STORVSC_DATA_SEGCNT_MAX, /* nsegments */ STORVSC_DATA_SEGCNT_MAX, /* nsegments */
STORVSC_DATA_SEGSZ_MAX, /* maxsegsize */ STORVSC_DATA_SEGSZ_MAX, /* maxsegsize */
- 0, /* flags */+ BUS_DMA_KEEP_PG_OFFSET, /* flags */
NULL, /* lockfunc */ NULL, /* lockfunc */
NULL, /* lockfuncarg */ NULL, /* lockfuncarg */
&sc->storvsc_req_dtag); &sc->storvsc_req_dtag);