Author: br
Date: Tue Apr 28 20:33:31 2015
New Revision: 282200
URL: https://svnweb.freebsd.org/changeset/base/282200

Log:
  o Fix bus_space_read_multi functions: correct increment value
  o Use these functions for streaming
  
  Tested with ATA (PCI bus) / Gem5 simulator
  
  Reviewed by:  andrew
  Sponsored by: HEIF5

Modified:
  head/sys/arm64/arm64/bus_machdep.c
  head/sys/arm64/arm64/bus_space_asm.S

Modified: head/sys/arm64/arm64/bus_machdep.c
==============================================================================
--- head/sys/arm64/arm64/bus_machdep.c  Tue Apr 28 19:35:05 2015        
(r282199)
+++ head/sys/arm64/arm64/bus_machdep.c  Tue Apr 28 20:33:31 2015        
(r282200)
@@ -169,10 +169,10 @@ struct bus_space memmap_bus = {
        .bs_r_8_s = NULL,
 
        /* read multiple stream */
-       .bs_rm_1_s = NULL,
-       .bs_rm_2_s = NULL,
-       .bs_rm_4_s = NULL,
-       .bs_rm_8_s = NULL,
+       .bs_rm_1_s = generic_bs_rm_1,
+       .bs_rm_2_s = generic_bs_rm_2,
+       .bs_rm_4_s = generic_bs_rm_4,
+       .bs_rm_8_s = generic_bs_rm_8,
 
        /* read region stream */
        .bs_rr_1_s = NULL,
@@ -187,10 +187,10 @@ struct bus_space memmap_bus = {
        .bs_w_8_s = NULL,
 
        /* write multiple stream */
-       .bs_wm_1_s = NULL,
-       .bs_wm_2_s = NULL,
-       .bs_wm_4_s = NULL,
-       .bs_wm_8_s = NULL,
+       .bs_wm_1_s = generic_bs_wm_1,
+       .bs_wm_2_s = generic_bs_wm_2,
+       .bs_wm_4_s = generic_bs_wm_4,
+       .bs_wm_8_s = generic_bs_wm_8,
 
        /* write region stream */
        .bs_wr_1_s = NULL,

Modified: head/sys/arm64/arm64/bus_space_asm.S
==============================================================================
--- head/sys/arm64/arm64/bus_space_asm.S        Tue Apr 28 19:35:05 2015        
(r282199)
+++ head/sys/arm64/arm64/bus_space_asm.S        Tue Apr 28 20:33:31 2015        
(r282200)
@@ -63,7 +63,7 @@ ENTRY(generic_bs_rm_1)
 
        /* Read the data. */
 1:     ldrb    w1, [x0]
-       strb    w1, [x3], #2
+       strb    w1, [x3], #1
        subs    x4, x4, #1
        b.ne    1b
 
@@ -105,7 +105,7 @@ ENTRY(generic_bs_rm_4)
 
        /* Read the data. */
 1:     ldr     w1, [x0]
-       str     w1, [x3], #2
+       str     w1, [x3], #4
        subs    x4, x4, #1
        b.ne    1b
 
@@ -126,7 +126,7 @@ ENTRY(generic_bs_rm_8)
 
        /* Read the data. */
 1:     ldr     x1, [x0]
-       str     x1, [x3], #2
+       str     x1, [x3], #8
        subs    x4, x4, #1
        b.ne    1b
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to