|
@@ -14,12 +14,13 @@
|
|
#include <linux/slab.h>
|
|
#include <linux/slab.h>
|
|
#include <linux/module.h>
|
|
#include <linux/module.h>
|
|
#include <linux/bootmem.h>
|
|
#include <linux/bootmem.h>
|
|
|
|
+#include <linux/ctype.h>
|
|
#include <asm/page.h>
|
|
#include <asm/page.h>
|
|
#include <asm/ebcdic.h>
|
|
#include <asm/ebcdic.h>
|
|
#include <asm/errno.h>
|
|
#include <asm/errno.h>
|
|
#include <asm/extmem.h>
|
|
#include <asm/extmem.h>
|
|
#include <asm/cpcmd.h>
|
|
#include <asm/cpcmd.h>
|
|
-#include <linux/ctype.h>
|
|
|
|
|
|
+#include <asm/setup.h>
|
|
|
|
|
|
#define DCSS_DEBUG /* Debug messages on/off */
|
|
#define DCSS_DEBUG /* Debug messages on/off */
|
|
|
|
|
|
@@ -82,10 +83,6 @@ static struct list_head dcss_list = LIST_HEAD_INIT(dcss_list);
|
|
static char *segtype_string[] = { "SW", "EW", "SR", "ER", "SN", "EN", "SC",
|
|
static char *segtype_string[] = { "SW", "EW", "SR", "ER", "SN", "EN", "SC",
|
|
"EW/EN-MIXED" };
|
|
"EW/EN-MIXED" };
|
|
|
|
|
|
-extern struct {
|
|
|
|
- unsigned long addr, size, type;
|
|
|
|
-} memory_chunk[MEMORY_CHUNKS];
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* Create the 8 bytes, ebcdic VM segment name from
|
|
* Create the 8 bytes, ebcdic VM segment name from
|
|
* an ascii name.
|
|
* an ascii name.
|
|
@@ -249,8 +246,8 @@ segment_overlaps_storage(struct dcss_segment *seg)
|
|
{
|
|
{
|
|
int i;
|
|
int i;
|
|
|
|
|
|
- for (i=0; i < MEMORY_CHUNKS && memory_chunk[i].size > 0; i++) {
|
|
|
|
- if (memory_chunk[i].type != 0)
|
|
|
|
|
|
+ for (i = 0; i < MEMORY_CHUNKS && memory_chunk[i].size > 0; i++) {
|
|
|
|
+ if (memory_chunk[i].type != CHUNK_READ_WRITE)
|
|
continue;
|
|
continue;
|
|
if ((memory_chunk[i].addr >> 20) > (seg->end >> 20))
|
|
if ((memory_chunk[i].addr >> 20) > (seg->end >> 20))
|
|
continue;
|
|
continue;
|