Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 911
b: refs/heads/master
c: 3a7d555
h: refs/heads/master
i:
  909: c0f9ec9
  907: de1b5e1
  903: 979daf9
  895: 2daf7c4
v: v3
  • Loading branch information
Dean Nelson authored and Tony Luck committed May 3, 2005
1 parent 5a250ac commit fc9da48
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a2d974da0afe659cff98913184a97c0ee686d02b
refs/heads/master: 3a7d555bfc4d4631d9118fb4d0ed7ab62cc2ca1c
15 changes: 14 additions & 1 deletion trunk/arch/ia64/sn/kernel/xpc_partition.c
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,19 @@ xpc_rsvd_page_init(void)
return NULL;
}
}
} else if (!IS_AMO_ADDRESS((u64) amos_page)) {
/*
* EFI's XPBOOT can also set amos_page in the reserved page,
* but it happens to leave it as an uncached physical address
* and we need it to be an uncached virtual, so we'll have to
* convert it.
*/
if (!IS_AMO_PHYS_ADDRESS((u64) amos_page)) {
dev_err(xpc_part, "previously used amos_page address "
"is bad = 0x%p\n", (void *) amos_page);
return NULL;
}
amos_page = (AMO_t *) TO_AMO((u64) amos_page);
}

memset(xpc_vars, 0, sizeof(struct xpc_vars));
Expand Down Expand Up @@ -944,7 +957,7 @@ xpc_discovery(void)

/*
* Given a partid, get the nasids owned by that partition from the
* remote partitions reserved page.
* remote partition's reserved page.
*/
enum xpc_retval
xpc_initiate_partid_to_nasids(partid_t partid, void *nasid_mask)
Expand Down
8 changes: 8 additions & 0 deletions trunk/include/asm-ia64/sn/addrs.h
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@
*/
#define CAC_BASE (CACHED | AS_CAC_SPACE)
#define AMO_BASE (UNCACHED | AS_AMO_SPACE)
#define AMO_PHYS_BASE (UNCACHED_PHYS | AS_AMO_SPACE)
#define GET_BASE (CACHED | AS_GET_SPACE)

/*
Expand All @@ -160,6 +161,13 @@
#define PHYS_TO_DMA(x) ( (((u64)(x) & NASID_MASK) >> 2) | NODE_OFFSET(x))


/*
* Macros to test for address type.
*/
#define IS_AMO_ADDRESS(x) (((u64)(x) & (REGION_BITS | AS_MASK)) == AMO_BASE)
#define IS_AMO_PHYS_ADDRESS(x) (((u64)(x) & (REGION_BITS | AS_MASK)) == AMO_PHYS_BASE)


/*
* The following definitions pertain to the IO special address
* space. They define the location of the big and little windows
Expand Down

0 comments on commit fc9da48

Please sign in to comment.