Date: Wed, 17 Apr 2013 22:19:32 GMT From: Brooks Davis <brooks@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 227821 for review Message-ID: <201304172219.r3HMJWae076629@skunkworks.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@227821?ac=10 Change 227821 by brooks@brooks_zenith on 2013/04/17 22:18:52 Improve generic_bs_*_8 implementation with issues found while submitting for revew and as a result of review. Affected files ... .. //depot/projects/ctsrd/beribsd/src/sys/mips/include/cpufunc.h#6 edit .. //depot/projects/ctsrd/beribsd/src/sys/mips/mips/bus_space_generic.c#11 edit Differences ... ==== //depot/projects/ctsrd/beribsd/src/sys/mips/include/cpufunc.h#6 (text+ko) ==== @@ -354,11 +354,15 @@ #define readb(va) (*(volatile uint8_t *) (va)) #define readw(va) (*(volatile uint16_t *) (va)) #define readl(va) (*(volatile uint32_t *) (va)) -#define readd(va) mips3_ld(va) +#if defined(__GNUC__) && !defined(__mips_o32) +#define readq(a) (*(volatile uint64_t *)(a)) +#endif #define writeb(va, d) (*(volatile uint8_t *) (va) = (d)) #define writew(va, d) (*(volatile uint16_t *) (va) = (d)) #define writel(va, d) (*(volatile uint32_t *) (va) = (d)) -#define writed(va, d) mips3_sd((va), (d)) +#if defined(__GNUC__) && !defined(__mips_o32) +#define writeq(va, d) (*(volatile uint64_t *) (va) = (d)) +#endif #endif /* !_MACHINE_CPUFUNC_H_ */ ==== //depot/projects/ctsrd/beribsd/src/sys/mips/mips/bus_space_generic.c#11 (text+ko) ==== @@ -219,11 +219,15 @@ #define rd8(a) readb(a) #define rd16(a) readw(a) #define rd32(a) readl(a) -#define rd64(a) readd(a) +#ifdef readq +#define rd64(a) readq((a)) +#endif #define wr8(a, v) writeb(a, v) #define wr16(a, v) writew(a, v) #define wr32(a, v) writel(a, v) -#define wr64(a, v) writed(a, v) +#ifdef writeq +#define wr64(a, v) writeq(a, v) +#endif #endif /* generic bus_space tag */ @@ -441,7 +445,7 @@ uint64_t value) { -#ifdef rd64 +#ifdef wr64 wr64(bsh + offset, value); #else panic("%s: not implemented", __func__); @@ -486,7 +490,7 @@ generic_bs_wm_8(void *t, bus_space_handle_t bsh, bus_size_t offset, const uint64_t *addr, size_t count) { -#ifdef rd64 +#ifdef wr64 bus_addr_t baddr = bsh + offset; while (count--) @@ -540,7 +544,7 @@ generic_bs_wr_8(void *t, bus_space_handle_t bsh, bus_size_t offset, const uint64_t *addr, size_t count) { -#ifdef rd64 +#ifdef wr64 bus_addr_t baddr = bsh + offset; while (count--) { @@ -590,7 +594,7 @@ generic_bs_sm_8(void *t, bus_space_handle_t bsh, bus_size_t offset, uint64_t value, size_t count) { -#ifdef rd64 +#ifdef wr64 bus_addr_t addr = bsh + offset; while (count--) @@ -638,7 +642,7 @@ generic_bs_sr_8(void *t, bus_space_handle_t bsh, bus_size_t offset, uint64_t value, size_t count) { -#ifdef rd64 +#ifdef wr64 bus_addr_t addr = bsh + offset; for (; count != 0; count--, addr += 8) @@ -716,7 +720,7 @@ generic_bs_c_8(void *t, bus_space_handle_t bsh1, bus_size_t off1, bus_space_handle_t bsh2, bus_size_t off2, size_t count) { -#ifdef rd64 +#if defined(rd64) && defined(wr64) bus_addr_t addr1 = bsh1 + off1; bus_addr_t addr2 = bsh2 + off2;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304172219.r3HMJWae076629>