I think there's something I'm misunderstanding about the way a DCSS is
supposed to work.
I want to define a 128MB DCSS, starting at 128MB, going up to 256MB.
I give my Linux guest class E privileges, and then issue a
DEFSEG SHRUSR 8000-FFFF SW
This succeeds.
Q NSS NAME SHRUSR MAP gives me
FILE FILENAME FILETYPE MINSIZE BEGPAG ENDPAG TYPE CL #USERS PARMREGS
VMGROUP
0160 SHRUSR DCSS N/A 08000 0FFFF SW S 00000 N/A
N/A
So I got what I asked for, it looks like.
Now I'm a little unclear on what the following means in the Device
Driver book:
You must have set the mem kernel parameter to cover the upper limit of
the DCSS.
when taken in conjunction with
You cannot access a DCSS that overlaps with your guest virtual storage.
I *think* what this means is that I'm supposed to define my guest
smaller than 128MB--which I have, in this case, 64M, but that I have to
boot with mem=256M. If that's the case, that's what I've done:
dcss1:~# cat /proc/cmdline
root=/dev/dasd/0150/part1 ro noinitrd dasd=0150,0151(ro),0152
vmpoff="LOGOFF" mem=256M
total used free shared buffers
cached
Mem: 58284 23568 34716 0 1380
12456
-/+ buffers/cache: 9732 48552
Swap: 99156 0 99156
I can modprobe dcssblk just fine:
dcss1:~# modprobe -v dcssblk
/sbin/insmod /lib/modules/2.4.21/kernel/drivers/s390/block/dcssblk.o
Using /lib/modules/2.4.21/kernel/drivers/s390/block/dcssblk.o
Symbol version prefix 'smp_'
But then:
echo "SHRUSR" > /proc/dcssblk/add
gives me
dcssblk warning:SEGMENT SHRUSR NOT LOADED RC=-2
I thought maybe I'd misunderstood who has to have the memory mapped, but
this doesn't change at all when I set the machine's virtual storage to
256MB but change Linux's mem parameter to use 64MB; I still get the
RC=-2.
What am I missing?
Adam