svn commit: r210911 - head/sys/mips/sibyte
Neel Natu
neel at FreeBSD.org
Fri Aug 6 05:30:56 UTC 2010
Author: neel
Date: Fri Aug 6 05:30:55 2010
New Revision: 210911
URL: http://svn.freebsd.org/changeset/base/210911
Log:
Use a signed integer to hold the address of a register.
This does the right thing by sign extending the address when compiling for
the n64 abi.
Modified:
head/sys/mips/sibyte/sb_scd.c
Modified: head/sys/mips/sibyte/sb_scd.c
==============================================================================
--- head/sys/mips/sibyte/sb_scd.c Fri Aug 6 05:24:41 2010 (r210910)
+++ head/sys/mips/sibyte/sb_scd.c Fri Aug 6 05:30:55 2010 (r210911)
@@ -45,8 +45,8 @@ __FBSDID("$FreeBSD$");
*
* We use the mips_ld() and mips_sd() functions to do this for us.
*/
-#define sb_store64(addr, val) mips3_sd((uint64_t *)(addr), (val))
-#define sb_load64(addr) mips3_ld((uint64_t *)(addr))
+#define sb_store64(addr, val) mips3_sd((uint64_t *)(uintptr_t)(addr), (val))
+#define sb_load64(addr) mips3_ld((uint64_t *)(uintptr_t)(addr))
/*
* System Control and Debug (SCD) unit on the Sibyte ZBbus.
@@ -131,7 +131,7 @@ sb_system_reset(void)
void
sb_disable_intsrc(int cpu, int src)
{
- uint32_t regaddr;
+ int regaddr;
uint64_t val;
regaddr = INTSRC_MASK_ADDR(cpu);
@@ -144,7 +144,7 @@ sb_disable_intsrc(int cpu, int src)
void
sb_enable_intsrc(int cpu, int src)
{
- uint32_t regaddr;
+ int regaddr;
uint64_t val;
regaddr = INTSRC_MASK_ADDR(cpu);
@@ -157,7 +157,7 @@ sb_enable_intsrc(int cpu, int src)
void
sb_write_intsrc_mask(int cpu, uint64_t val)
{
- uint32_t regaddr;
+ int regaddr;
regaddr = INTSRC_MASK_ADDR(cpu);
sb_store64(regaddr, val);
@@ -166,7 +166,7 @@ sb_write_intsrc_mask(int cpu, uint64_t v
uint64_t
sb_read_intsrc_mask(int cpu)
{
- uint32_t regaddr;
+ int regaddr;
uint64_t val;
regaddr = INTSRC_MASK_ADDR(cpu);
@@ -178,7 +178,7 @@ sb_read_intsrc_mask(int cpu)
void
sb_write_intmap(int cpu, int intsrc, int intrnum)
{
- uint32_t regaddr;
+ int regaddr;
regaddr = INTSRC_MAP_ADDR(cpu, intsrc);
sb_store64(regaddr, intrnum);
@@ -187,7 +187,7 @@ sb_write_intmap(int cpu, int intsrc, int
int
sb_read_intmap(int cpu, int intsrc)
{
- uint32_t regaddr;
+ int regaddr;
regaddr = INTSRC_MAP_ADDR(cpu, intsrc);
return (sb_load64(regaddr) & 0x7);
@@ -227,7 +227,7 @@ sb_read_sysrev(void)
void
sb_set_mailbox(int cpu, uint64_t val)
{
- uint32_t regaddr;
+ int regaddr;
regaddr = MAILBOX_SET_ADDR(cpu);
sb_store64(regaddr, val);
@@ -236,7 +236,7 @@ sb_set_mailbox(int cpu, uint64_t val)
void
sb_clear_mailbox(int cpu, uint64_t val)
{
- uint32_t regaddr;
+ int regaddr;
regaddr = MAILBOX_CLEAR_ADDR(cpu);
sb_store64(regaddr, val);
More information about the svn-src-head
mailing list