svn commit: r233657 - head/sys/mips/nlm/dev/net/ucore
Jayachandran C.
jchandra at FreeBSD.org
Thu Mar 29 11:46:30 UTC 2012
Author: jchandra
Date: Thu Mar 29 11:46:29 2012
New Revision: 233657
URL: http://svn.freebsd.org/changeset/base/233657
Log:
Remove unnecessary assembly code.
The compiler should generate lw/sw corresponding to register
operations.
Modified:
head/sys/mips/nlm/dev/net/ucore/ucore.h
head/sys/mips/nlm/dev/net/ucore/ucore_app.c
Modified: head/sys/mips/nlm/dev/net/ucore/ucore.h
==============================================================================
--- head/sys/mips/nlm/dev/net/ucore/ucore.h Thu Mar 29 11:20:19 2012 (r233656)
+++ head/sys/mips/nlm/dev/net/ucore/ucore.h Thu Mar 29 11:46:29 2012 (r233657)
@@ -45,8 +45,8 @@
#define UCORE_FR_FIFOEMPTY 0x802c
#define UCORE_PKT_DISTR 0x8030
-#define PACKET_MEMORY (0xFFE00)
-#define PACKET_DATA_OFFSET (64)
+#define PACKET_MEMORY 0xFFE00
+#define PACKET_DATA_OFFSET 64
#define SHARED_SCRATCH_MEM 0x18000
/* Distribution mode */
@@ -57,8 +57,8 @@
#define VAL_PDL(x) (((x) & 0xf) << 4)
/*output buffer done*/
-#define VAL_FSV(x) (x<<19)
-#define VAL_FFS(x) (x<<14)
+#define VAL_FSV(x) (x << 19)
+#define VAL_FFS(x) (x << 14)
#define FWD_DEST_ONLY 1
#define FWD_ENQ_DIST_VEC 2
@@ -69,37 +69,33 @@
#define USE_HASH_DST (1 << 20)
+static __inline unsigned int
+nlm_read_ucore_reg(int reg)
+{
+ volatile unsigned int *addr = (volatile void *)reg;
+
+ return (*addr);
+}
+
+static __inline void
+nlm_write_ucore_reg(int reg, unsigned int val)
+{
+ volatile unsigned int *addr = (volatile void *)reg;
+
+ *addr = val;
+}
#define NLM_DEFINE_UCORE(name, reg) \
-static __inline__ unsigned int nlm_read_ucore_##name(void) \
+static __inline unsigned int \
+nlm_read_ucore_##name(void) \
{ \
- unsigned int __rv; \
- __asm__ __volatile__ ( \
- ".set push\n" \
- ".set noreorder\n" \
- ".set mips32\n" \
- "li $8, %1\n" \
- "lw %0, ($8)\n" \
- ".set pop\n" \
- : "=r" (__rv) \
- : "i" (reg) \
- : "$8" \
- ); \
- return __rv; \
+ return nlm_read_ucore_reg(reg); \
} \
\
-static __inline__ void nlm_write_ucore_##name(unsigned int val) \
+static __inline void \
+nlm_write_ucore_##name(unsigned int v) \
{ \
- __asm__ __volatile__( \
- ".set push\n" \
- ".set noreorder\n" \
- ".set mips32\n" \
- "li $8, %1\n" \
- "sw %0, ($8)\n" \
- ".set pop\n" \
- :: "r" (val), "i" (reg) \
- : "$8" \
- ); \
+ nlm_write_ucore_reg(reg, v); \
} struct __hack
Modified: head/sys/mips/nlm/dev/net/ucore/ucore_app.c
==============================================================================
--- head/sys/mips/nlm/dev/net/ucore/ucore_app.c Thu Mar 29 11:20:19 2012 (r233656)
+++ head/sys/mips/nlm/dev/net/ucore/ucore_app.c Thu Mar 29 11:46:29 2012 (r233657)
@@ -38,7 +38,7 @@ int main(void)
int intf, hw_parser_error, context;
#endif
unsigned int pktrdy;
- int num_cachelines = 1518 >> 6; /* pktsize / L3 cacheline size */
+ int num_cachelines = 1518 / 64 ; /* pktsize / L3 cacheline size */
/* Spray packets to using distribution vector */
More information about the svn-src-all
mailing list