Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Justin T. Gibbs
In article 199903171205.naa25...@freebsd.dk you wrote:
 It seems David O'Brien wrote:
  Boot from an ata disk on major# 30, device name ad, plain and simple.
 
 Does this mean ata disks won't come under CAM/da ?
 
 Not if I can help it :)
 It could be done by slamming a translation layer ontop of the existing
 wd driver or of cause on top of the new I'm doing, but all it adds
 is overhead, both performance wise and codesize wise. There is nothing
 that prohibits having both of cause, but it is not a priority for me
 to add more complexity into the picture before everything else is done.

My main complaint so far about the new ATAPI stuff is that it duplicates
or lacks (assuming it will be implemented) much of what CAM would have
given for almost free:

- Interrupt driven configuration
- Peripheral driver to device routing
- debugging/tracing facilities
- an extensible error recovery framework
- an understanding of command queuing (also relevant for ATAPI)
- understanding of hot plug events
- an aplication pass-thru interface

The question about translation layers is secondary and I would likely
choose to not introduce a translation at all.  Issuing pure ATAPI commands
to atapi devices at the peripheral driver level is somthing that CAM
could easily do.  I would probably choose to merge ATAPI functionality
into the da driver to avoid duplicated code and to ensure that bug
fixes only need to be performed in one place.  After all, the machinery
for talking to an ATAPI or SCSI disk is very similar (If the disk says
it needs to be spun up, spin it up; if we have too many transactions
outstanding and fear tag starvation, send an ordered tag; when we
close the disk or panic, synchronize its cache to stable media; etc. etc.)
even if the command op codes and format are slightly different.

But hey, I don't have the time to work on ATAPI.  Soren does, so he gets
to call the shots.

--
Justin


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Justin T. Gibbs
 In article 199903171103.naa13...@ceia.nordier.com you wrote:
  Søren Schmidt wrote:
   
  OK, easy enough, this is what I want to do:
  
  Boot from an ata disk on major# 30, device name ad, plain and simple.
  
  I'd be inclined to handle this outside the boot code, by treating the
  passed in major# as describing the device rather than specifying
  the driver.
 
 Why not have the boot blocks pass in a device 'name' rather than a
 major number.  If the goal is to ditch major numbers entirely with
 a properly working DEVFS, then using major numbers in the new boot
 loader seems to be the wrong way to go.  Until DEVFS is a reality,
 the kernel will still need to perform a name to major number translation,
 but it should be left up to the kernel.

Because there's no way to work out a name either.

If I explicitly say:

1:foobar(0,a)/kernel

there certainly is a way to work out the name.  Perhaps in the autoboot
case you'll have to guess, but it would be nice if the current boot
mechanism allowed user intervention as a way to boot a kernel with an
unknown bdev.

All the loader has to go on is the BIOS unit number and the disklabel, 
the latter of which can't be relied on to be up-to-date (ie. it 
reflects what the disk was when it was laid out, not what some nominal 
kernel is going to call it).

Well, the disklabel format should be revamped so that we can tag devices
in a unique fashion (user's pet name for the partition plus a 128bit
random number perhaps).  This would allow the boot loader to alway tell
the kernel unambiguously how to find the root device.  It would also
allow us to ensure that the attach order for all devices with a BSD
label matched the BIOS probe order.  I would also love to be able
to mount volumes by the name that I've picked for them rather than
by device node too - it would practically eliminate the need for hard
wiring of devices.

--
Justin




To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread S�ren Schmidt
It seems Justin T. Gibbs wrote:
 In article 199903171205.naa25...@freebsd.dk you wrote:
  It seems David O'Brien wrote:
   Boot from an ata disk on major# 30, device name ad, plain and simple.
  
  Does this mean ata disks won't come under CAM/da ?
  
  Not if I can help it :)
  It could be done by slamming a translation layer ontop of the existing
  wd driver or of cause on top of the new I'm doing, but all it adds
  is overhead, both performance wise and codesize wise. There is nothing
  that prohibits having both of cause, but it is not a priority for me
  to add more complexity into the picture before everything else is done.
 
 My main complaint so far about the new ATAPI stuff is that it duplicates
 or lacks (assuming it will be implemented) much of what CAM would have
 given for almost free:
 
 - Interrupt driven configuration

That there allready, if we mean the same thing here.

 - Peripheral driver to device routing

Such as ?

 - debugging/tracing facilities

Well, there is a little of that allready, more to come.

 - an extensible error recovery framework

Well, here is room for improvement, I haven't put any real error
checking code in there by now, it will just fail and report that
for now. This is alpha level code remember.

 - an understanding of command queuing (also relevant for ATAPI)

Hmm, well, yes, but I'm not sure that what ATA/ATAPI has to offer 
here is comaptible with the CAM framwork. I plan to support tagged
queueing on ATA disks though.

 - understanding of hot plug events

This really isn't an issue on ATA/ATAPI devices in most cases,
but in the mobile world there is a need for this, but that is
already being worked on. We need alot of work in other places
in the kernel, before this can be really utilized though.

 - an aplication pass-thru interface

Hmm, what for ??
ATAPI commands could esily be passed through, but I'd like a
driver to be in charge here, and besides we allready have drivers
for most existing ATAPI HW.

 The question about translation layers is secondary and I would likely
 choose to not introduce a translation at all.  Issuing pure ATAPI commands
 to atapi devices at the peripheral driver level is somthing that CAM
 could easily do.  I would probably choose to merge ATAPI functionality
 into the da driver to avoid duplicated code and to ensure that bug
 fixes only need to be performed in one place.  

ATAPI has nothing to do in the da driver, well maybe for ZIP/LS120
drives, but disks are ATA, and that needs translation.

   After all, the machinery
 for talking to an ATAPI or SCSI disk is very similar (If the disk says
 it needs to be spun up, spin it up; if we have too many transactions
 outstanding and fear tag starvation, send an ordered tag; when we
 close the disk or panic, synchronize its cache to stable media; etc. etc.)
 even if the command op codes and format are slightly different.

Thats correct, but there is enough differences that it still is a 
pain.

 But hey, I don't have the time to work on ATAPI.  Soren does, so he gets
 to call the shots.

Right :)

-Søren


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread S�ren Schmidt
It seems Justin T. Gibbs wrote:
  In article 199903171103.naa13...@ceia.nordier.com you wrote:
   Søren Schmidt wrote:

   OK, easy enough, this is what I want to do:
   
   Boot from an ata disk on major# 30, device name ad, plain and simple.
   
   I'd be inclined to handle this outside the boot code, by treating the
   passed in major# as describing the device rather than specifying
   the driver.
  
  Why not have the boot blocks pass in a device 'name' rather than a
  major number.  If the goal is to ditch major numbers entirely with
  a properly working DEVFS, then using major numbers in the new boot
  loader seems to be the wrong way to go.  Until DEVFS is a reality,
  the kernel will still need to perform a name to major number translation,
  but it should be left up to the kernel.
 
 Because there's no way to work out a name either.
 
 If I explicitly say:
 
 1:foobar(0,a)/kernel
 
 there certainly is a way to work out the name.  Perhaps in the autoboot
 case you'll have to guess, but it would be nice if the current boot
 mechanism allowed user intervention as a way to boot a kernel with an
 unknown bdev.

YES!! can we please have that ??

-Søren


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Robert Nordier
Søren Schmidt wrote:
 It seems Justin T. Gibbs wrote:
   Why not have the boot blocks pass in a device 'name' rather than a
   major number.  If the goal is to ditch major numbers entirely with
   a properly working DEVFS, then using major numbers in the new boot
   loader seems to be the wrong way to go.  Until DEVFS is a reality,
   the kernel will still need to perform a name to major number translation,
   but it should be left up to the kernel.
  
  Because there's no way to work out a name either.
  
  If I explicitly say:
  
  1:foobar(0,a)/kernel
  
  there certainly is a way to work out the name.  Perhaps in the autoboot
  case you'll have to guess, but it would be nice if the current boot
  mechanism allowed user intervention as a way to boot a kernel with an
  unknown bdev.
 
 YES!! can we please have that ??

Until DEVFS is a reality, I think it makes sense to not break
compatibility with the existing boot interface.

What Justin suggests seems good, but why not postpone the big change
till the user has compelling reasons (like a working DEVFS) for
making it, and losing ability to (a) boot 2.x and 3.x kernels; (b)
use his existing bootblocks; and (c) use his existing netboot and
other external (fbsdboot.exe-like) programs?

For the short term, I'd suggest modifying the bootblocks to optionally
accept an arbitrary major# in place of a {wd, da, ad, fd, ...}
string

1:42(0,a)/kernel

since that can easily be accommodated by the existing arguments
passed to the kernel.

While not an optimal solution, this does have the virtue of adding
the ability to boot from any device not specifically provided for,
and without requiring customization of the bootblocks (or any more
work on the kernel than is presently required to add a device
driver).

-- 
Robert Nordier


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Robert Nordier
Bob Willcox wrote:

 I have an LS-120 and I'd be happy to test the new boot code with it.
 
 
 Bob
 

Thanks very much.  I'll contact you and Andrzej when the changes
are made.

-- 
Robert Nordier


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Peter Wemm
Soren Schmidt wrote:
 It seems Justin T. Gibbs wrote:
  In article 199903171205.naa25...@freebsd.dk you wrote:
   It seems David O'Brien wrote:
Boot from an ata disk on major# 30, device name ad, plain and simple
.
   
   Does this mean ata disks won't come under CAM/da ?
   
   Not if I can help it :)
   It could be done by slamming a translation layer ontop of the existing
   wd driver or of cause on top of the new I'm doing, but all it adds
   is overhead, both performance wise and codesize wise. There is nothing
   that prohibits having both of cause, but it is not a priority for me
   to add more complexity into the picture before everything else is done.
  
  My main complaint so far about the new ATAPI stuff is that it duplicates
  or lacks (assuming it will be implemented) much of what CAM would have
  given for almost free:
  
  - Interrupt driven configuration
 
 That there allready, if we mean the same thing here.

Exactly.. why reinvent it?  It seems a little silly to reinvent the other 
stuff that cam provides that the ata[pi] driver hasn't finished yet.

  The question about translation layers is secondary and I would likely
  choose to not introduce a translation at all.  Issuing pure ATAPI commands
  to atapi devices at the peripheral driver level is somthing that CAM
  could easily do.  I would probably choose to merge ATAPI functionality
  into the da driver to avoid duplicated code and to ensure that bug
  fixes only need to be performed in one place.  
 
 ATAPI has nothing to do in the da driver, well maybe for ZIP/LS120
 drives, but disks are ATA, and that needs translation.

Yes, we know that IDE disks are ATA and not ATAPI, but the cam layer does
have a lot of flexibility for dealing with differences even as large as
that.

You don't really need ``translation'' as such since a lot of the specifics 
are done by the backend driver and are a black box as far as the higher 
layers are concerned.  You basically get to define the interface between 
cam and the drivers at your convenience.

While the da, cd etc upper level drivers do have scsi specific stuff in
them (they are in the scsi subdir after all), they largely deal with
generic CCB's (CAM Control Blocks) and send special scsi commands as
required.  Obviously these would need changing so they can send ATA or
ATAPI commands instead.

  After all, the machinery
  for talking to an ATAPI or SCSI disk is very similar (If the disk says
  it needs to be spun up, spin it up; if we have too many transactions
  outstanding and fear tag starvation, send an ordered tag; when we
  close the disk or panic, synchronize its cache to stable media; etc. etc.)
  even if the command op codes and format are slightly different.
 
 Thats correct, but there is enough differences that it still is a 
 pain.

You shouldn't ever have to translate a scsi CCB or SCSI command code 
into an ATAPI command or ATA command.  A correctly functioning system 
would be sending the ata/atapi backend the in a form suitable for being 
used directly.

  But hey, I don't have the time to work on ATAPI.  Soren does, so he gets
  to call the shots.
 
 Right :)

Yes.  Actually, the biggest problem wouldn't be building an ATA/ATAPI set 
of frontends and backends around the CAM system, I suspect it would be far 
harder to finish the generalization of the CAM code.  There appear to be a 
lot of SCSI-specific things lurking in the cam* code... Things like the 
quirks table referring to T_DIRECT etc (which is from scsi/scsi_all.h) and 
so on.

I half suspect that what Justin had in mind at some point was a set of common
code that is either #ifdef'ed or otherwise preprocessed to produce a
standalone 'SCSI-CAM' system versus an 'ATA[PI]-CAM' system.  This would 
have the advantage of having all the common code together in one place and 
shared, while at compile time it built two seperate subsystems that were 
compiled specifically for the target peripheral bus with definitions to 
suit each so that translation was never used.

 -Soren

Cheers,
-Peter






To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Poul-Henning Kamp

I half suspect that what Justin had in mind at some point was a set of common
code that is either #ifdef'ed or otherwise preprocessed to produce a
standalone 'SCSI-CAM' system versus an 'ATA[PI]-CAM' system.

I .75 suspect that such a marriage would be caused by the second
systems syndrome and carry no tangible benefits at the end of the
day.

I respect CAM, it seems to work out great.  It also looks like sos
driver does what it should so far.  I don't see much point in
merging the two for the benefits suggested so far.

In particular I don't want to see sos and justin spend a lot of
time haggeling over the issues for the rather meagre benefits
cited so far.

--
Poul-Henning Kamp FreeBSD coreteam member
p...@freebsd.org   Real hackers run -current on their laptop.
FreeBSD -- It will take a long time before progress goes too far!


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: IPSEC support?

1999-03-20 Thread Alex Le Heux
Steven P. Donegan wrote:
 
 Is there any IPSEC support available for current? I've found support for
 2.2.8, but not so far for current.

There is support for 3.1-REL. Work is being done for -current, I
believe.

Keep an eye on http://www.r4k.net/ipsec

Alex

-- 
++---+
|  SMTP: ale...@funk.org   |  E-Gold: 101979   |
|  ICBM: N52 22.647' E4 51.555'  |  PGP: 0x1d512a3f  |
++---+


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Justin T. Gibbs
I half suspect that what Justin had in mind at some point was a set of common
code that is either #ifdef'ed or otherwise preprocessed to produce a
standalone 'SCSI-CAM' system versus an 'ATA[PI]-CAM' system.  This would 
have the advantage of having all the common code together in one place and 
shared, while at compile time it built two seperate subsystems that were 
compiled specifically for the target peripheral bus with definitions to 
suit each so that translation was never used.

The plan has always been to migrate the SCSI knowledge in the XPT
layer into a 'personality' module leaving the generic portions of
the CAM XPT intact.  The personalities would be compiled in using
the atapibus0 and scbus0 keywords in config.  I don't think it
would be that hard, but it would require time I don't have right
now.

--
Justin




To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: panics while reading Solaris CDROM

1999-03-20 Thread Dag-Erling Smorgrav
David O'Brien obr...@nuxi.com writes:
 The core files from the panic seem to be useless -- I can't get anything
 useful out of ``where'' with a kernel w/debugging symbols:

Link CD9660 support statically, instead of using the KLD module.

DES
-- 
Dag-Erling Smorgrav - d...@flood.ping.uio.no


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



reproducable panic?

1999-03-20 Thread Adam McDougall
I seem to be able to reproduce a panic on my 4.0 machine (updated
yesterday, kernel and world, also could crash with a somewhat older
build)

I have pseudo-device vn  and nfs  in my kernel, not as a module.

When I vnconfig -c /dev/vn0c /nfsmountpoint/somefile,  the system panics
reliably.

If there is more useful info I could give, or shell accounts, etc,
please let me know.

IdlePTD 3133440
initial pcb at 2701d8
panicstr: page fault
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0xff68
fault code  = supervisor read, page not present
instruction pointer = 0x8:0xc01af522
stack pointer   = 0x10:0xc0252770
frame pointer   = 0x10:0xc0252770
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = Idle
interrupt mask  = 
trap number = 12
panic: page fault

syncing disks... 

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x30
fault code  = supervisor read, page not present
instruction pointer = 0x8:0xc01d99b0
stack pointer   = 0x10:0xc02524cc
frame pointer   = 0x10:0xc02524d0
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = Idle
interrupt mask  = bio 
trap number = 12
panic: page fault

dumping to dev 20401, offset 393216
dump 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43
42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19
18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 
---
#0  boot (howto=260) at ../../kern/kern_shutdown.c:287
287 dumppcb.pcb_cr3 = rcr3();
(kgdb) bt
#0  boot (howto=260) at ../../kern/kern_shutdown.c:287
#1  0xc01486ed in panic (fmt=0xc024aad7 page fault)
at ../../kern/kern_shutdown.c:448
#2  0xc0210016 in trap_fatal (frame=0xc0252490, eva=48)
at ../../i386/i386/trap.c:943
#3  0xc020fccf in trap_pfault (frame=0xc0252490, usermode=0, eva=48)
at ../../i386/i386/trap.c:836
#4  0xc020f902 in trap (frame={tf_es = -1071316976, tf_ds = -1071710192, 
  tf_edi = -1062680960, tf_esi = 0, tf_ebp = -1071307568, 
  tf_isp = -1071307592, tf_ebx = -1071245808, tf_edx = -1073217472, 
  tf_ecx = 0, tf_eax = 0, tf_trapno = 12, tf_err = 0, 
  tf_eip = -1071801936, tf_cs = 8, tf_eflags = 66178, 
  tf_esp = -1036656256, tf_ss = -1071307536}) at
../../i386/i386/trap.c:438
#5  0xc01d99b0 in acquire_lock (lk=0xc0261610)
at ../../ufs/ffs/ffs_softdep.c:267
#6  0xc01dc827 in initiate_write_inodeblock (inodedep=0xc0a8c680, 
bp=0xc1e8f398) at ../../ufs/ffs/ffs_softdep.c:2827
#7  0xc01dc5cf in softdep_disk_io_initiation (bp=0xc1e8f398)
at ../../ufs/ffs/ffs_softdep.c:2686
#8  0xc017992a in spec_strategy (ap=0xc0252550)
at ../../miscfs/specfs/spec_vnops.c:555
#9  0xc01790bd in spec_vnoperate (ap=0xc0252550)
at ../../miscfs/specfs/spec_vnops.c:129
#10 0xc01e7af5 in ufs_vnoperatespec (ap=0xc0252550)
at ../../ufs/ufs/ufs_vnops.c:2327
#11 0xc0166a67 in bwrite (bp=0xc1e8f398) at vnode_if.h:891
#12 0xc016b1f6 in vop_stdbwrite (ap=0xc02525b8) at
../../kern/vfs_default.c:297
#13 0xc016b041 in vop_defaultop (ap=0xc02525b8) at
../../kern/vfs_default.c:131
#14 0xc01790bd in spec_vnoperate (ap=0xc02525b8)
at ../../miscfs/specfs/spec_vnops.c:129
#15 0xc01e7af5 in ufs_vnoperatespec (ap=0xc02525b8)
at ../../ufs/ufs/ufs_vnops.c:2327
#16 0xc01674c7 in vfs_bio_awrite (bp=0xc1e8f398) at vnode_if.h:1145
#17 0xc01e1b46 in ffs_fsync (ap=0xc0252640) at
../../ufs/ffs/ffs_vnops.c:205
#18 0xc01dffe7 in ffs_sync (mp=0xc0a04a00, waitfor=2, cred=0xc0a1ff00, 
p=0xc028c8e0) at vnode_if.h:499
#19 0xc016fc2b in sync (p=0xc028c8e0, uap=0x0) at
../../kern/vfs_syscalls.c:542
#20 0xc0148299 in boot (howto=256) at ../../kern/kern_shutdown.c:205
#21 0xc01486ed in panic (fmt=0xc024aad7 page fault)
at ../../kern/kern_shutdown.c:448
#22 0xc0210016 in trap_fatal (frame=0xc0252734, eva=4294967144)
at ../../i386/i386/trap.c:943
#23 0xc020fccf in trap_pfault (frame=0xc0252734, usermode=0,
eva=4294967144)
at ../../i386/i386/trap.c:836
#24 0xc020f902 in trap (frame={tf_es = -989003760, tf_ds = 528089104, 
  tf_edi = -1073741824, tf_esi = -982050144, tf_ebp = -1071306896, 
  tf_isp = -1071306916, tf_ebx = -1062665024, tf_edx = -152, 
  tf_ecx = -982050144, tf_eax = -2147483648, tf_trapno = 12, tf_err
= 0, 
  tf_eip = -1071975134, tf_cs = 8, tf_eflags = 66182, 
  tf_esp = -1071306860, tf_ss = -1071975907}) at
../../i386/i386/trap.c:438
#25 0xc01af522 in nfs_sigintr (nmp=0xc5771aa0, rep=0xc0a904c0,
p=0xc0133634)
at ../../nfs/nfs_socket.c:1479
#26 0xc01af21d in nfs_timer (arg=0x0) at ../../nfs/nfs_socket.c:1355
#27 0xc014cb8e in softclock 

RE: unable to use cdrecord on an ATAPI CD-R under 2.2.8.

1999-03-20 Thread Christopher J. Michaels
Well, I'm sorry to say that it looks like I've found the answer to my own
question.  I found after this posting (by looking at dmesg) that I was
getting the following error.
acd0: rezero failed

I did some searching and found several postings in -current that said my
drive, a MITSUMI CR-2600TE, does not support the REZERO command and is
therefore not going to work, at least with the acd driver I have running
now.

Now my question is, and this is why I'm cc:ing this to -current is, has this
particular problem been addressed in the current release(s) of FreeBSD.  The
thread that addressed this particular issue (in -current) was about 5 months
old.

Incase anyone was interested the URL to that thread is..
http://www.freebsd.org/cgi/getmsg.cgi?fetch=1249191+1251848+/usr/local/www/d
b/text/1998/freebsd-current/19981108.freebsd-current

Thanks again, guess I'll be putting the burner back in the winblowz 98
machine unless someone can help me out with a fix.

-Chris

-Original Message-
From: owner-freebsd-questi...@freebsd.org
[mailto:owner-freebsd-questi...@freebsd.org]on Behalf Of Christopher J.
Michaels
Sent: Saturday, March 20, 1999 9:57 AM
To: FreeBSD Mailing List (E-mail)
Subject: unable to use cdrecord on an ATAPI CD-R under 2.2.8.


Hello,
 I'm trying to use my ATAPI cd-r on my 2.2.8 box and am having no success at
all.
I have the acd device in my kernel and it detects just fine upone startup.
And I can mount /dev/wcd0c just fine.

acd0: drive speed 1377KB/sec, 2048KB cache
acd0: supported read  types: CD-R, CD-RW, CD-DA
acd0: supported write types: CD-R, test write
acd0: Audio: play, 2 volume levels
acd0: Mechanism: ejectable tray
acd0: Medium: no/blank disc inside, unlocked

I have tried to use the cdrecord's -scanbus option to try and get starting
and what I get is the following...

Cdrecord release 1.6.1 Copyright (C) 1995-1998 Jörg Schilling
cdrecord: No such file or directory. Cannot open SCSI driver.

Ok, it uses /dev/scgx, so I did 'ln -s /dev/rcd0.ctl /dev/scgx' and I still
get the above error.

So NOW i'm trying to specify the device name on the command line, as it says
on the man page I can do.  'cdrecord -scanbus dev=/dev/rcd0.ctl:0,4,0'
Cdrecord release 1.6.1 Copyright (C) 1995-1998 Jörg Schilling
scsidev: '/dev/rcd0.ctl:0,4,0'
devname: '/dev/rcd0.ctl'
scsibus: 0 target: 4 lun: 0
cdrecord: Device not configured. Cannot open SCSI driver.

If i try similar things such as /dev/rcd0a, /dev/rcd0c, I get the same above
error.
I've tried MAKEDEV wcd0, acd0, rcd0.  With no luck.. MAKEDEV doesn't even
recognize acd0.  SO, I'm out of ideas, I know others out there are using
this thing because I see enough traffic on the mailing list.  But does
anyone out there know how to help me with this issue?

-Chris



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-questions in the body of the message



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Daniel C. Sobral
Søren Schmidt wrote:
 
  there certainly is a way to work out the name.  Perhaps in the autoboot
  case you'll have to guess, but it would be nice if the current boot
  mechanism allowed user intervention as a way to boot a kernel with an
  unknown bdev.
 
 YES!! can we please have that ??

As I said before, loader can pass arbitrary parameters to the
kernel. I did not answer to the jab you replied with before because
I was waiting for Mike's comments.

In any case, all environment strings defined in the loader are (for
now) copied so kernel can use them. Pick a name, and DTRT in the
kernel. Alternatively, arguments to either boot or load kernel
commands are passed on to the kernel. Again, it's just a matter of
you using it.

The major number passed to the kernel is a product of a lot of
guesswork, because the loader has simply not enough information. I
have added a bit of code to my version of loader so you can use the
variable root_device_major_number to override the major number to be
passed to the kernel. I'm inclined to commit it, but I expect strong
objections from Mike, who wants the right thing done before we go
too far with these hacks.

(I can send this patch to you as soon as you answer to my message
concerning the problems I'm having with the ad stuff... :)

--
Daniel C. Sobral(8-DCS)
d...@newsguy.com
d...@freebsd.org

What happened?
It moved, sir!



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: fd broken [!!!]

1999-03-20 Thread Brian Feldman
It's been a couple more weeks, anyone now know why fd(4) is broken? It's
really not a good thing :(

 Brian Feldman_ __  ___ ___ ___  
 gr...@unixhelp.org   _ __ ___ | _ ) __|   \ 
 http://www.freebsd.org/ _ __ ___  | _ \__ \ |) |
 FreeBSD: The Power to Serve!  _ __ ___  _ |___/___/___/ 

On Tue, 9 Mar 1999, Brian Feldman wrote:

 On Sat, 6 Mar 1999, Thomas Dean wrote:
 So Does anyone have an idea why the hell fd(4) broke?!
 
  I have the same problem on 4.0-current SMP of Mon Feb 15 03:34:29 PST
  1999.
  
  tomdean
  
  
  To Unsubscribe: send mail to majord...@freebsd.org
  with unsubscribe freebsd-current in the body of the message
  
 
  Brian Feldman  _ __  ___ ___ ___  
  gr...@unixhelp.org _ __ ___ | _ ) __|   \ 
http://www.freebsd.org/ _ __ ___  | _ \__ \ |) |
  FreeBSD: The Power to Serve!_ __ ___  _ |___/___/___/ 
 
 
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message
 



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: panics while reading Solaris CDROM

1999-03-20 Thread David O'Brien
  The core files from the panic seem to be useless -- I can't get anything
  useful out of ``where'' with a kernel w/debugging symbols:
 
 Link CD9660 support statically, instead of using the KLD module.

First thing I tried.  :-)  Bruce's vfs_bio.c fix was the trick.
 
-- 
-- David(obr...@nuxi.com  -or-  obr...@freebsd.org)


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: reproducable panic?

1999-03-20 Thread Matthew Dillon
:I seem to be able to reproduce a panic on my 4.0 machine (updated
:yesterday, kernel and world, also could crash with a somewhat older
:build)
:
:I have pseudo-device vn  and nfs  in my kernel, not as a module.
:
:When I vnconfig -c /dev/vn0c /nfsmountpoint/somefile,  the system panics
:reliably.
:
:If there is more useful info I could give, or shell accounts, etc,
:please let me know.


test2:/home/dillon# ls -la /var/tmp/ff/test
-rw-r--r--  1 root  wheel  33554432 Mar 20 09:01 /var/tmp/ff/test
test2:/home/dillon# vnconfig -c /dev/vn2c /var/tmp/ff/test
test2:/home/dillon# df
apollo:/images/remote.src   1397423   970331   31529975%/var/tmp/ff

Works for me.  If you have the latest updated yesterday you should be
in good shape.  See if you can narrow down why it is crashing... try
different file sizes for your /nfsmountpoint/somefile, and so forth.

-Matt




To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: fd broken [!!!]

1999-03-20 Thread Thomas Dean
I submitted a PR.

This is not a show-stopper.  I have a system running 2.2.7.  fd works
on that one.  So, I read/write floppies there.  It is a pain, though.

tomdean


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: reproducable panic?

1999-03-20 Thread Adam
Ok I've been playing around a bit, an iso sized file (500-600mb) seems to
trigger it, and a quite small file seemed to do it too but I forgot which
one, but just now I made a one byte file and vnconfig'ed it and that
paniced. Please try that if you can :) btw I tried a 32mb file like you,
also a 16mb one, and neither made it crash.  Thanks

On Sat, 20 Mar 1999, Matthew Dillon wrote:

 :I seem to be able to reproduce a panic on my 4.0 machine (updated
 :yesterday, kernel and world, also could crash with a somewhat older
 :build)
 :
 :I have pseudo-device vn  and nfs  in my kernel, not as a module.
 :
 :When I vnconfig -c /dev/vn0c /nfsmountpoint/somefile,  the system panics
 :reliably.
 :
 :If there is more useful info I could give, or shell accounts, etc,
 :please let me know.
 
 
 test2:/home/dillon# ls -la /var/tmp/ff/test
 -rw-r--r--  1 root  wheel  33554432 Mar 20 09:01 /var/tmp/ff/test
 test2:/home/dillon# vnconfig -c /dev/vn2c /var/tmp/ff/test
 test2:/home/dillon# df
 apollo:/images/remote.src   1397423   970331   31529975%/var/tmp/ff
 
 Works for me.  If you have the latest updated yesterday you should be
 in good shape.  See if you can narrow down why it is crashing... try
 different file sizes for your /nfsmountpoint/somefile, and so forth.
 
   -Matt
 
 
 
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message
 



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: fd broken [!!!]

1999-03-20 Thread Brian Feldman
Aye, and my LS-120 works great too :) So, que sera sera.

 Brian Feldman_ __  ___ ___ ___  
 gr...@unixhelp.org   _ __ ___ | _ ) __|   \ 
 http://www.freebsd.org/ _ __ ___  | _ \__ \ |) |
 FreeBSD: The Power to Serve!  _ __ ___  _ |___/___/___/ 

On Sat, 20 Mar 1999, Thomas Dean wrote:

 I submitted a PR.
 
 This is not a show-stopper.  I have a system running 2.2.7.  fd works
 on that one.  So, I read/write floppies there.  It is a pain, though.
 
 tomdean
 
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message
 



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Mike Smith
  But hey, I don't have the time to work on ATAPI.  Soren does, so he gets
  to call the shots.
 
 Right :)

... so we lose.  8(

Soren, please take a little time to understand what Justin is talking 
about.  The parts of CAM that are relevant to you are the queueing 
support, infrastructure, and the separation between the interface 
controller and the peripheral driver, something that you've 
indicated to me several times that you simply don't grasp.

Taking advantage of all the code and design that's already been 
implemented in the CAM framework will make your life easier, not 
harder.   It's not necessary to write a translation layer at all, if 
such a thing offends your sensibilities.

-- 
\\  Sometimes you're ahead,   \\  Mike Smith
\\  sometimes you're behind.  \\  m...@smith.net.au
\\  The race is long, and in the  \\  msm...@freebsd.org
\\  end it's only with yourself.  \\  msm...@cdrom.com




To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Mike Smith
 The major number passed to the kernel is a product of a lot of
 guesswork, because the loader has simply not enough information. I
 have added a bit of code to my version of loader so you can use the
 variable root_device_major_number to override the major number to be
 passed to the kernel. I'm inclined to commit it, but I expect strong
 objections from Mike, who wants the right thing done before we go
 too far with these hacks.

Correct.

I'm currently leaning heavily towards a tunable which can be set to 
explicitly control the device the root filesystem is loaded from, eg.

 set kern.rootdev.device=da0s1a

However Justin's random number comment speaks back to a technique I was 
working on earlier, where such a number would be secreted in the 
disklabel of the disk to be booted.  This number would have to be 
generated in a fairly unique fashion (I planned to use the TOD to try 
to keep it from wrapping), and it'd then be passed in in the 
environment or as an argument to the kernel.

Bruce really doesn't like the environment, preferring instead arguments 
to modules.  This breaks down as soon as you try to set things 
automatically (which module needs which arguments?) or load things 
automatically as a result of dependancies (how do you pass arguments to 
something that's loaded invisibly?).

So in this case the code would set kern.rootdev.brand to the magic 
number, and the kernel would then search for it.

However, there's another technique which would work quite well, and one 
I'm actually moderately enamoured of (modulo it's ability to confuse 
the heck out of people).

Use the last mounted on field to find and mount filesystems.

-- 
\\  Sometimes you're ahead,   \\  Mike Smith
\\  sometimes you're behind.  \\  m...@smith.net.au
\\  The race is long, and in the  \\  msm...@freebsd.org
\\  end it's only with yourself.  \\  msm...@cdrom.com




To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread David E. Cross

  The major number passed to the kernel is a product of a lot of
  guesswork, because the loader has simply not enough information. I
  have added a bit of code to my version of loader so you can use the
  variable root_device_major_number to override the major number to be
  passed to the kernel. I'm inclined to commit it, but I expect strong
  objections from Mike, who wants the right thing done before we go
  too far with these hacks.
 
 Correct.
 
 I'm currently leaning heavily towards a tunable which can be set to 
 explicitly control the device the root filesystem is loaded from, eg.
 
  set kern.rootdev.device=da0s1a

How hard would it be to have /boot/loader get the major number from the
filesystem itself?  Just have it read the node entry for /dev/$rootdev
(or similiar).

--
David Cross


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Daniel C. Sobral
Mike Smith wrote:
 
  The major number passed to the kernel is a product of a lot of
  guesswork, because the loader has simply not enough information. I
  have added a bit of code to my version of loader so you can use the
  variable root_device_major_number to override the major number to be
  passed to the kernel. I'm inclined to commit it, but I expect strong
  objections from Mike, who wants the right thing done before we go
  too far with these hacks.
 
 Correct.

On both accounts, I suppose... :-)

 However Justin's random number comment speaks back to a technique I was
 working on earlier, where such a number would be secreted in the
 disklabel of the disk to be booted.  This number would have to be
 generated in a fairly unique fashion (I planned to use the TOD to try
 to keep it from wrapping), and it'd then be passed in in the
 environment or as an argument to the kernel.

How would that work with netboot or booting from foreign fs, such as
FAT?

If we restrict ourselves to disklabel-carrying fs, an alternative
would be writing the datetime plus a semi-random number (such as
time down to ms) on the disklabel of the disk selected, and passing
this number to the kernel.

[reads what you said again]

Unless, of course, that's precisely what you are talking about...
:-) I'm not sure if you are talking about a pre-generated label, or
one written at boot time. It all rests on the meaning of TOD
(tentatively translated as Time Of Day... :).

 However, there's another technique which would work quite well, and one
 I'm actually moderately enamoured of (modulo it's ability to confuse
 the heck out of people).
 
 Use the last mounted on field to find and mount filesystems.

Again, same objections... :-)

--
Daniel C. Sobral(8-DCS)
d...@newsguy.com
d...@freebsd.org

What happened?
It moved, sir!


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Mike Smith
 
   The major number passed to the kernel is a product of a lot of
   guesswork, because the loader has simply not enough information. I
   have added a bit of code to my version of loader so you can use the
   variable root_device_major_number to override the major number to be
   passed to the kernel. I'm inclined to commit it, but I expect strong
   objections from Mike, who wants the right thing done before we go
   too far with these hacks.
  
  Correct.
  
  I'm currently leaning heavily towards a tunable which can be set to 
  explicitly control the device the root filesystem is loaded from, eg.
  
   set kern.rootdev.device=da0s1a
 
 How hard would it be to have /boot/loader get the major number from the
 filesystem itself?  Just have it read the node entry for /dev/$rootdev
 (or similiar).

This doesn't solve the BIOS : FreeBSD unit numbering problem, 
unfortunately, and it would make moving from one driver to another very 
difficult (you'd have to override the search).

It's a neat idea and one I hadn't thought of, but it doesn't solve
enough of the problem.

-- 
\\  Sometimes you're ahead,   \\  Mike Smith
\\  sometimes you're behind.  \\  m...@smith.net.au
\\  The race is long, and in the  \\  msm...@freebsd.org
\\  end it's only with yourself.  \\  msm...@cdrom.com




To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



broken world

1999-03-20 Thread Hostas Red
Hi!

For a couple weeks for now i have a broken world with following reason:

=== usr.sbin/i4b/isdnd
cc -O -pipe -I/usr/src/usr.sbin/i4b/isdnd/../isdnmonitor
-I/usr/src/usr.sbin/i4b/isdnd/../isdntel
-I/usr/obj/usr/src/usr.sbin/i4b/isdnd -DDEBUG -DUSE_RTPRIO -DUSE_CURSES
-I/usr/obj/usr/src/tmp/usr/include -c rc_scan.c
/usr/src/usr.sbin/i4b/isdnd/rc_scan.l: In function `yylex':
/usr/src/usr.sbin/i4b/isdnd/rc_scan.l:95: `BEEPCONNECT' undeclared (first
use this function)
/usr/src/usr.sbin/i4b/isdnd/rc_scan.l:95: (Each undeclared identifier is
reported only once
/usr/src/usr.sbin/i4b/isdnd/rc_scan.l:95: for each function it appears
in.)
/usr/src/usr.sbin/i4b/isdnd/rc_scan.l:111: `IDLE_ALG_OUT' undeclared
(first use this function)
*** Error code 1

Cleaning obj tree doesn't helps. Nothing helps, so. Anybody have similar
problems?

Adios,
/KONG



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Possible fix for rc.conf

1999-03-20 Thread Scot W. Hetzel
What does everyone think about using this at the end of
/etc/defaults/rc.conf?

for i in ${rc_conf_files}; do
if [ $0 != $i ]; then
 if [ -f $i ]; then
 . $i
 fi
else
echo Error: $0 isn't allowed to re-load $i.
echo Error: Please do not copy /etc/defaults/rc.conf to
/etc/rc.conf
fi
done

If someone does copy the /etc/defaults/rc.conf to /etc/rc.conf, /etc/rc.conf
will not reload it's self, thus it will never get stuck in an endless loop.

Scot



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: Possible fix for rc.conf

1999-03-20 Thread Rahul Dhesi
Scot W. Hetzel hetz...@westbend.net writes:

if [ $0 != $i ]; then

A more generic fix is for each script to set an environment variable,
and check to make sure that variable was not set already.  Analogous to
how C include files prevent recursive inclusion.
-- 
Rahul Dhesi dh...@spams.r.us.com


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: How to add a new bootdevice to the new boot code ???

1999-03-20 Thread Justin T. Gibbs
 My main complaint so far about the new ATAPI stuff is that it duplicates
 or lacks (assuming it will be implemented) much of what CAM would have
 given for almost free:
 
 - Interrupt driven configuration

That there allready, if we mean the same thing here.

Right.  Its duplicated functionality.

 - Peripheral driver to device routing

Such as ?

Such as the ability to have more than one driver share the
same device, command generation counts and priority queuing
to allow correct 'replay' of overlapped commands when an
error occurs, etc.  See:

http://www.freebsd.org/~gibbs/cam.html

for the start of a discussion of these features and why transaction
routing was implemented this way.

 - debugging/tracing facilities

Well, there is a little of that allready, more to come.

Right.  Its duplicated functionality.

 - an extensible error recovery framework

Well, here is room for improvement, I haven't put any real error
checking code in there by now, it will just fail and report that
for now. This is alpha level code remember.

But how will you deal with errors especially when there are overlapped
commands?  CAM already deals with this in a very clean way. When an error
occurs, the controller driver freezes the queue of commands to the erring
device, notifies the peripheral driver of the error, and allows the driver
to insert error recovery actions before any other commands are ever
released to the device.  This even allows you to toss back unexecuted but
queued commands at the controller level to be reinserted into the transport
layer's command queue to ensure proper ordering.  This all plays off of the
priority features inherent in how transactions are queued.

Command queuing was a major factor in why I wrote the CAM code.  Solving
these issues is not trivial.

 - an understanding of command queuing (also relevant for ATAPI)

Hmm, well, yes, but I'm not sure that what ATA/ATAPI has to offer 
here is comaptible with the CAM framwork. I plan to support tagged
queueing on ATA disks though.

CAM only knows that multiple commands may be outstanding at a time
and that they must be marked with serial numbers for proper replay
when an error occurs.  The specifics of how multiple transactions
are specified is something that can be completely isolated into
the 'personality' module and as a protocol between the peripheral
drivers and the controller drivers.

 - understanding of hot plug events

This really isn't an issue on ATA/ATAPI devices in most cases,
but in the mobile world there is a need for this, but that is
already being worked on. We need alot of work in other places
in the kernel, before this can be really utilized though.

So why invent a new notification and cleanup strategy when the
CAM one has already been developed and tested in the SCSI world?

 - an aplication pass-thru interface

Hmm, what for ??

cdrecord, a userland disk format utility, camcontrol functionality,
etc. etc.

ATAPI commands could esily be passed through, but I'd like a
driver to be in charge here, and besides we allready have drivers
for most existing ATAPI HW.

The pass-thru driver is in charge in the CAM world.  Is this not
sufficient?  Sure, there needs to be locking primitives so that drivers
competing for the same device do not step on each others toes, but this
is already specified by CAM and should be only a day or so of effort
to implement.

ATAPI has nothing to do in the da driver, well maybe for ZIP/LS120
drives, but disks are ATA, and that needs translation.

Why does it need translation?  Why not simply issue ATA commands right
through the CAM Transport layer.  Perhaps you use a function table in your
peripheral driver to build the right CAM Control Blocks to send for a
particular device. Perhaps you have a completely different peripheral
driver for ATA and SCSI devices.  That is up to the implementor.  My choice
would be to have one peripheral driver here, but CAM doesn't tie your hands
one way or the other.

--
Justin




To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



NetBoot 3Com card.

1999-03-20 Thread RT
I have a couple of 905B 3com cards.  I'm interested in running diskless
(especially since a harddisk in the one machine just died).

After reading the handbook, I found the diskless information to be extreamly
outdated.  Does netboot now support the 905 line of 3com cards?  (Any test
drivers out there for it?)



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: Possible fix for rc.conf

1999-03-20 Thread Alex Zepeda
On Sat, 20 Mar 1999, Scot W. Hetzel wrote:

 If someone does copy the /etc/defaults/rc.conf to /etc/rc.conf, /etc/rc.conf
 will not reload it's self, thus it will never get stuck in an endless loop.

Oh it's too late for that. :)

- alex



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



rfork()

1999-03-20 Thread Michael E. Mercer
Hello,

This was posted to freebsd-questions with no reply.
I tried this and the child process created a core file.
I also tried the other options and they seem to work.
Just RFPROC and RFMEM DON'T!

Thanks,
Michael Mercer




Can any one suggest how to use rfork( RFPROC | RFMEM );
according to the manual, freeBSD supports this and it should create a
new process
which will share the address space.
But what I'm getting is
a) It returns only to the parent process with a childID.
b) It doesn't go into child part
c) 'PS' shows that a child process is active.
Code:
#include unistd.h
main()
{
int childId;
printf(Parent Process start \n);
if ( (childId = rfork(RFMEM | RFPROC) ) == 0 ) {
printf(In Child childId(%d) PId(%d)\n,
childId,getpid() );
sleep(4);
exit(0);
}
{
char buf[10] = Samit;
int nRet;
printf(Parent process continues with childId(%d)
%s,PID(%d)\n,
 childId, buf,getpid());
sleep(5);
}
}

Output:
$ cc test.c
$ a.out 
$ Parent Process start
Parent process continues with childId(10759) Samit,PID(10758)
ps
  PID  TT  STAT  TIME COMMAND
10697  p2  Ss 0:00.07 -sh (sh)
10758  p2  S  0:00.00 a.out
10759  p2  Z  0:00.00  (a.out)
10760  p2  R+ 0:00.00 ps

 why it is created zombie and it does not execute the code ?

--Samit.



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-questions in the body of the message


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: rfork()

1999-03-20 Thread John S. Dyson
Michael E. Mercer said:
 Hello,
 
 This was posted to freebsd-questions with no reply.
 I tried this and the child process created a core file.
 I also tried the other options and they seem to work.
 Just RFPROC and RFMEM DON'T!
 
rfork(RFMEM) doesn't easily work from C.  You need to
create an assembly stub.

-- 
John  | Never try to teach a pig to sing,
dy...@iquest.net  | it makes one look stupid
jdy...@nc.com | and it irritates the pig.


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: rfork()

1999-03-20 Thread Michael E. Mercer
John,

With very little experience in assembly, could you or
someone else give me a small example?

Thanks in advance,
Michael Mercer


John S. Dyson wrote:
 
 Michael E. Mercer said:
  Hello,
 
  This was posted to freebsd-questions with no reply.
  I tried this and the child process created a core file.
  I also tried the other options and they seem to work.
  Just RFPROC and RFMEM DON'T!
 
 rfork(RFMEM) doesn't easily work from C.  You need to
 create an assembly stub.
 
 --
 John  | Never try to teach a pig to sing,
 dy...@iquest.net  | it makes one look stupid
 jdy...@nc.com | and it irritates the pig.
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-hackers in the body of the message


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: rfork()

1999-03-20 Thread Alfred Perlstein
On Sat, 20 Mar 1999, John S. Dyson wrote:

 Michael E. Mercer said:
  Hello,
  
  This was posted to freebsd-questions with no reply.
  I tried this and the child process created a core file.
  I also tried the other options and they seem to work.
  Just RFPROC and RFMEM DON'T!
  
 rfork(RFMEM) doesn't easily work from C.  You need to
 create an assembly stub.
 
 -- 
 John  | Never try to teach a pig to sing,
 dy...@iquest.net  | it makes one look stupid
 jdy...@nc.com | and it irritates the pig.
 

I've seen about 6 people ask about this because the manual lies about
what is done.  I asked a while back about it, and John was kind enough
to dig up some code that used rfork to properly split the stack should
I try to dig it up?

In the meantime, can someone commit this or suggest something?

thanks,
-Alfred

Index: rfork.2
===
RCS file: /home/ncvs/src/lib/libc/sys/rfork.2,v
retrieving revision 1.8
diff -u -r1.8 rfork.2
--- rfork.2 1999/01/26 02:38:09 1.8
+++ rfork.2 1999/03/21 04:49:10
@@ -54,7 +54,8 @@
 will then inherit all the shared segments the parent process owns. Other 
segment
 types will be unaffected.  Subsequent forks by the parent will then
 propagate the shared data and bss between children.  The stack segment
-is always split.  May be set only with
+is not split and must be allocated manually via an assembler subroutine.  
+May be set only with
 .Dv RFPROC .
 .It RFSIGSHARE
 If set, the kernel will force sharing the sigacts structure between the




To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: rfork()

1999-03-20 Thread John S. Dyson
 On Sat, 20 Mar 1999, John S. Dyson wrote:
 
  Michael E. Mercer said:
   Hello,
   
   This was posted to freebsd-questions with no reply.
   I tried this and the child process created a core file.
   I also tried the other options and they seem to work.
   Just RFPROC and RFMEM DON'T!
   
  rfork(RFMEM) doesn't easily work from C.  You need to
  create an assembly stub.
  
  -- 
  John  | Never try to teach a pig to sing,
  dy...@iquest.net  | it makes one look stupid
  jdy...@nc.com | and it irritates the pig.
  
 
 I've seen about 6 people ask about this because the manual lies about
 what is done.  I asked a while back about it, and John was kind enough
 to dig up some code that used rfork to properly split the stack should
 I try to dig it up?
 
I suggest trying to find the example.  I might have it sitting around
here also.

John


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: IPSEC support?

1999-03-20 Thread Eric J. Schwertfeger

 Is there any IPSEC support available for current? I've found support for 
 2.2.8, but not so far for current.

KAME has support for 3.1-RELEASE.  I don't know how far -current has
diverged, but you might want to try www.kame.net. KAME is IP6 and IPSEC,
but you can compile it with only IPSEC.

You should note that KAME and the IPDIVERT option are mutually exclusive,
unless they've fixed it in the last week (snaps come out Sunday/Monday
and I haven't had the chance to test the last snap).

If all else fails, you can hack up something using IPDIVERT that does ESP
transport in userspace (not full IPSEC) in a weekend.  At least that's how
long it took me.  The code is not ready to be released, and I'm not sure I
want to go through the hassle of trying to export-control it at any rate
(US citizen vs government stupidity).

(ref the not full IPSEC, RFC2401 just came out a few months ago, is three
times the size of the previous IPSEC RFC (1825), and mandates a lot of
things that I'm not ready to start coding).



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: rfork()

1999-03-20 Thread Brian Feldman
On Sun, 21 Mar 1999, Alfred Perlstein wrote:

 On Sat, 20 Mar 1999, John S. Dyson wrote:
 
  Michael E. Mercer said:
   Hello,
   
   This was posted to freebsd-questions with no reply.
   I tried this and the child process created a core file.
   I also tried the other options and they seem to work.
   Just RFPROC and RFMEM DON'T!
   
  rfork(RFMEM) doesn't easily work from C.  You need to
  create an assembly stub.
  
  -- 
  John  | Never try to teach a pig to sing,
  dy...@iquest.net  | it makes one look stupid
  jdy...@nc.com | and it irritates the pig.
  
 
 I've seen about 6 people ask about this because the manual lies about
 what is done.  I asked a while back about it, and John was kind enough
 to dig up some code that used rfork to properly split the stack should
 I try to dig it up?
 
 In the meantime, can someone commit this or suggest something?

For the suggest something, you realize that with Richard's VM_STACK code it
should be relatively trivial to make this automatic (suggestion: add
RFSTACK flag).

 
 thanks,
 -Alfred
 
 Index: rfork.2
 ===
 RCS file: /home/ncvs/src/lib/libc/sys/rfork.2,v
 retrieving revision 1.8
 diff -u -r1.8 rfork.2
 --- rfork.2   1999/01/26 02:38:09 1.8
 +++ rfork.2   1999/03/21 04:49:10
 @@ -54,7 +54,8 @@
  will then inherit all the shared segments the parent process owns. Other 
 segment
  types will be unaffected.  Subsequent forks by the parent will then
  propagate the shared data and bss between children.  The stack segment
 -is always split.  May be set only with
 +is not split and must be allocated manually via an assembler subroutine.  
 +May be set only with
  .Dv RFPROC .
  .It RFSIGSHARE
  If set, the kernel will force sharing the sigacts structure between the
 
 
 
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message
 

 Brian Feldman_ __  ___ ___ ___  
 gr...@unixhelp.org   _ __ ___ | _ ) __|   \ 
 http://www.freebsd.org/ _ __ ___  | _ \__ \ |) |
 FreeBSD: The Power to Serve!  _ __ ___  _ |___/___/___/ 



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message



Re: rfork()

1999-03-20 Thread Matthew Dillon

:  rfork(RFMEM) doesn't easily work from C.  You need to
:  create an assembly stub.
:  
:  -- 
:  John  | Never try to teach a pig to sing,
:  dy...@iquest.net  | it makes one look stupid
:  jdy...@nc.com | and it irritates the pig.
:  
: 
: I've seen about 6 people ask about this because the manual lies about
: what is done.  I asked a while back about it, and John was kind enough
: to dig up some code that used rfork to properly split the stack should
: I try to dig it up?
: 
: In the meantime, can someone commit this or suggest something?
:
:For the suggest something, you realize that with Richard's VM_STACK code it
:should be relatively trivial to make this automatic (suggestion: add
:RFSTACK flag).
:
: Brian Feldman   _ __  ___ ___ ___  
: gr...@unixhelp.org  _ __ ___ | _ ) __|   \ 
:http://www.freebsd.org/ _ __ ___  | _ \__ \ |) |
: FreeBSD: The Power to Serve! _ __ ___  _ |___/___/___/ 

If the goal is to completely share the address space, which 
RFMEM does, you can't split anything, not even the stack.  It
sure would be useful if there were a standard clib call adequate
for calling rfork() and calling a function in the child w/ a new
stack.

-Matt
Matthew Dillon 
dil...@backplane.com




To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message