requires complications to adjust the offsets to relative when a block
containing the label is read and back to absolute when such a block is
written. The adjustment is not made on the whole disk slice.
Don't allow setting the offset of partition C to nonzero in in-core labels.
This will cause some (nonstandard) disktab entries to fail. They will
need to be changed to have relative offsets (and no partitions outside
of the slice).
Don't write protect the (nonexistent) label on the whole disk slice.
Writing labels and bootstraps should work right now (except if there is
no DOSpartition table).
just thinking about it.
Two changes need to be made to allow 'config kernel swap generic' to
work properly without requiring any compile-time flags:
/usr/src/usr.sbin/config/mkswapconf.c: we need to define a dummy stub
for the setconf() function to replace the one in swapgeneric.c that
isn't available in non-generic configurations.
/usr/src/sys/i386/i386/autoconf.c: the -a boot flag causes setroot()
to be skipped and lets setconf() prompt the user for a root device.
If you skip setroot() in a non-generic kernel, you could get severely
hosed. To avoid this, we silently ignore the -a flag if rootdev != NODEV.
(rootdev is always initialized to NODEV in swapgeneric.c, so if
we find that rootdev is something other than NODEV, we know we're
not using a generic configuration.)
2) bump reference counts by 2 instead of 1 so that an object deallocate
doesn't try to recursively collapse the object.
3) mark pages renamed during the collapse as dirty so that their contents
are preserved.
Submitted by: John and me.
Test for correct execution of cache test script by NCR,
and give meaningful error description if it fails.
(A cache problem was reported before.)
Don't wait forever for cache test to complete (to protect
against faulty hardware).
Submitted by: wolf
briefly over it, and see some serious architectural issues in this stuff.
On the other hand, I doubt that we will have any solution to these issues
before 2.1, so we might as well leave this in.
Most of the stuff is bracketed by #ifdef's so it shouldn't matter too much
in the normal case.
Reviewed by: phk
Submitted by: HOSOKAWA, Tatsumi <hosokawa@mt.cs.keio.ac.jp>
Slice 0 is now for the first BSD slice. The first BSD slice is
the first DOSpartition with id 0xa5 or the whole disk if their
are no DOSpartitions (except the latter is not yet implemented).
Existing partitions on it work the same as in 2.0 except the
'd' partition is no longer special and partitions are relative
to the skice.
Slice 1 is now for the whole disk and gets a read-only label
describing the disk. Previously, slice 0 was for the whole disk
and there was no label on it.
Slices 2-31 are for DOSpartitions. Slice 0 is an alias for one
of these if there is a BSD slice. Previously, slices 1-31 were
for DOSpartitions.
diskslice_machdep.c:
Expand whole disk slice to include all DOSpartitions. More work
is required for >1024 cylinders and to rewrite the label iff the
driver is unsure about the geometry.
subr_diskslice.c:
New function dsisopen() to help handle media changes.
mapping from numbers to names is messy for backwards compatibility.
E.g., for driver "sd", unit "0":
slice 0: omit the slice number for compatibility; names are sd0[a-h].
slice 1: omit the partition letter 'c' because the whole disk device
shouldn't have anything to do with partitions; sd0 is the
only name.
slices 2-31: subtract 1 from slice number to compensate for the
compatibility slice 0; names are sd0s[1-30][a-h].
when ttselect() is improved. This requires using an array of tty structs
and not using ttymalloc().
Fix an off by 1 error. Some caclulations seem to be off by a factor
of NCY. NCY defaults to 16, which gives 256 tty structs occupying
0xd000 bytes. The minor number encoding only allows 16 ttys.
Update the types of timeout functions to 2.0.
- Overflow now calculated right
- Close works ok,does not looses tty
- Better overflow handling now the snooping stops
on overflow,but programm notified and can reconnect if
it want to..Default maximal buffer set to 664 K and this
is probably too much..:)))
Utility still to come
Restore fixes to flushing that were lost in the previous commit.
Clean up snoop changes.
Add my TODO list from 1.1.5. The improvements in 1.1.5 should be "obtained"
first.
tape drive. I traced it to sys/scsi/scsi_base.c where some code were added
to print the return values of the sense command. My tape drive returned a
extended flags value of 0x20, so the key that is the lower 4 bits, is 0.
The code uses "key-1" to index into a table and then the kernel go to never-
never land.
Here is a fix for this. Will somebody please apply it?
Submitted by: John Hay
It boots FreeBSD from a running MS-DOS system.
It's compiled using some MS-DOS tools, but there is a binary
hidden in the uuencoded file. (Go ahead, flame me if you can come up
with a solution for the problem. Just saying "this is bad" doesn't count!)
Rod, you were right: one would have to deal with weird interfaces to the
memory managers, and it seems that Christian found them all, and made them
work.
Thanks Christian!
Reviewed by: phk
Submitted by: DI. Christian Gusenbauer <cg@fimp01.fim.uni-linz.ac.at>
Christians README:
------------------
Hi Everybody!
This is version 1.5 of "fbsdboot", a program that allows you to boot a kernel
from a MS-DOS partition or a FreeBSD partition. This program runs using DOS.
It works with various memory managers (like EMM386, 386MAX) under certain
circumstances.
First, a FreeBSD kernel is always loaded to memory starting at 0x100000. To
assure that loading the kernel *does not* overwrite memory used by memory
managers, high memory for the kernel is allocated and after loading the kernel
it's moved to 0x100000.
Second, there are many ways to switch to protected mode which is necessary to
start the kernel. Each BIOS gives you the possibility to use INT15H (AH=89H)
to do that. But some memory-managers like 386max does not allow you to use
this method.
An other way to do the switch is to use DPMI services, but they do not
guarantee, that the protected mode application is executed with privilege
level 0. Therefore this method is *not* used.
VCPI services offer another way to switch to protected mode, and VCPI servers
are built into "emm386.exe", "386max" and "qemm". That's why, this method is
implemented in fbsdboot.exe.
Fbsdboot.exe tries to switch to protected mode using VCPI services. If they're
not available INT15H is used to do the switch. If that fails, it's not possible
for this version of fbsdboot.exe to boot a kernel :-(.
You can get commandline options of fbsdboot if you start it with "-?" as option!
I don't know, if fbsdboot works with QEMM, as I don't have the possibility to
test it.
Enjoy and have fun!
Christian.
cg@fimp01.fim.uni-linz.ac.at
PS: Many thanks to Bruce Evans for his assistance!
Submitted by: Rich
Make conditionals on BIOSWAIT consistent with usage in io.c.
If you had 'BOOTWAIT=0' in your /etc/make.conf then biosboot wouldn't
compile. It was '#if' in io.c and '#ifdef' in probe_keyboard.c so I
changed the latter to '#if'.
Even if BOOTWAIT is undefined then '#if BOOTWAIT' becomes
'#if 0' so it should compile either way with this change.
New config option "NCR_IOMAPPED" makes the driver use port I/O.
Put back in 53c815 defines, submitted by Mikael Hybsch <micke@dynas.se>.
These had got lost between cvs rev. 1.14 and now ...
pci.c:
Really write config space register.
Assign ports starting at 0xbc00.
Submitted by: wolf
Reviewed by: se
expiration timer of anything which would expire later than that. (There
should be a way to call this from ip_sysctl() as well, but there currently
isn't.)
high load:
1) If there ever get to be more than net.inet.ip.rtmaxcache entries
in the cache, in_rtqtimo() will reduce net.inet.ip.rtexpire by
1/3 and do another round, unles net.inet.ip.rtexpire is less than
net.inet.ip.rtminexpire, and never more than once in ten minutes
(rtq_timeout).
2) If net.inet.ip.rtexpire is set to zero, don't bother to cache
anything.
Users-beware..
It is tested and working for me but probably have some bugs i
didn't noticed so test it and reply...
It can:
look at what's sent to the user from tty device
snoop on pty's,vty's and serial tty's
It (still) can't:
write to tty
see what user types in local echo mode
It is probably bad styled and
very dependant on tty_pty.c,sio.c and syscons.c
I would be really happy if another ppl would make their
changes because i am not sure this is the best snoop
we can have..but it is good..:)))))
I took 53 and it was too late when Jordan sayd
it better been 60..besides i have no clue how to make it 60..
Jordan- pleeease don't kill me..(This is also useful(??) device..)
EDSS1 is the "Euro-ISDN", 1TR6 is the soon obsolete german ISDN Interface.
Obtained from: Dietmar Friede <dfriede@drnhh.neuhaus.de> and
Juergen Krause <jkr@saarlink.de>
This is only one part - the rest to follow in a couple of hours.
This part is a benign import, since it doesn't affect anything else.
entire kernel.
Unfortunately we didn't send him a copy of the style guide before he did it.
I'm trying to find all the benign and downright sound bits and will commit
them without any other explanation than "YF fix" if they are merely cosmetic.
Reviewed by: phk
Submitted by: yves@dutncp8.tn.tudelft.nl (Yves Fonk)
add a an ioctl call to set the transfer block size (SNDCTL_DSP_SETBLKSIZE)
and add the select system call to the drivers. They also fix a problem with
the #EXCLUDE macros for the PAS-16 card.
Submitted by: Jim Lowe <james@blatz.cs.uwm.edu>
Bruce finally caught this bogon for me, Thank you Bruce !
Due to some part of the VM/buffer/pmap magic doing clustering, this bogon
managed to work better than 99.9% of the time. Amazing.
If You ever again see a weird message from the gzip code, please tell me.
now we're back to the old way. By way of amends, I cleaned up all the
casting evils and generally neated this file up as much as possible. It
still, however, needs to die.
so that the interface won't have the effect of blocking other senders
during bulk transfers (i.e. hogging the ethernet). It improves performance
in all of my tests by reducing collisions and I believe it to be a Good
Thing.
Bob Braden <braden@isi.edu>.
NB: This has not had David's TCP ACK hack re-integrated. It is not clear
what the correct solution to this problem is, if any. If a better solution
doesn't pop up in response to this message, I'll put David's code back in
(or he's welcome to do so himself).
adapted to FreeBSD by Heikki Suonsivu <hsu@cs.hut.fi>.
Submitted by: Andrew Werple <andrew@werple.apana.org.au> and
Heikki Suonsivu <hsu@cs.hut.fi>
Obtained from: NetBSD
TS_WOPEN state when CLOCAL is toggled from on to off while there
is no carrier. There is no way back, and with sio there is no way
forward either (TS_ISOPEN will never be set again for the current
open). This bug was observed in 1.1 and was fixed in 1.1.5.
`depend' wasn't supported. This seems to have only broken `make depend'
in gnu/usr.bin/ld.
bsd.prog.mk:
Build the man pages in ${MANDEPEND} at build time.
isn't important; it is only used to prevent symlink loops from looping
forever. 32 is a quite reasonable default.
Submitted by: Ed Hudson <elh@p5.spnet.com>
1. add iosize command, and show it in `ls'
2. add a probe command
3. add an attach command
[the latter 2 do the obvious thing - call the device's routine and print the
status returned].
You will normally have to have a VLB or other 32bit IDE "controller" for
this to work.
Depending on your setup, this may gain you 20-100 % speed from your disk.
Reviewed by: phk
Submitted by: vak@cronyx.ru
message instead of relying on the fact that we are scheduled to send them.
The old method worked 99.9% of the time, but someone reported some periferals
that did MSG_REJECT at odd times (sometimes before we could send an SDTR
or WDTR) that we would construe as the response to an SDTR or WDTR message.
This also removes a possible race condition where after a bus reset (the
result of a command time out not during intial probe time), we might queue
two commands both requesting SDTR, WDTR or both.
in serious system instability. Changed a B_INVAL to a B_NOCACHE so that
buffer data is properly disposed of.
Submitted by: John Dyson, Rick Macklin, and ohki@gssm.otsuka.tsukuba.ac.jp
definitions taken from the PCI specs. Part of them were typed
in by Wolfgang Stanglmeier, the (at that time unneeded) rest
by Charles Hannum (thanks !).
may be the result of reselect following too fast for
the driver to notice. Not the final solution, but the
problem has been seen only with very few devices.
Reviewed by: se
Submitted by: wolf (Wolfgang Stanglmeier)
Fixed long standing bug in freeing swap space during object collapses.
Fixed 'out of space' messages from printing out too often.
Modified to use new kmem_malloc() calling convention.
Implemented an additional stat in the swap pager struct to count the
amount of space allocated to that pager. This may be removed at some
point in the future.
Minimized unnecessary wakeups.
vm_fault.c:
Don't try to collect fault stats on 'swapped' processes - there aren't
any upages to store the stats in.
Changed read-ahead policy (again!).
vm_glue.c:
Be sure to gain a reference to the process's map before swapping.
Be sure to lose it when done.
kern_malloc.c:
Added the ability to specify if allocations are at interrupt time or
are 'safe'; this affects what types of pages can be allocated.
vm_map.c:
Fixed a variety of map lock problems; there's still a lurking bug that
will eventually bite.
vm_object.c:
Explicitly initialize the object fields rather than bzeroing the struct.
Eliminated the 'rcollapse' code and folded it's functionality into the
"real" collapse routine.
Moved an object_unlock() so that the backing_object is protected in
the qcollapse routine.
Make sure nobody fools with the backing_object when we're destroying it.
Added some diagnostic code which can be called from the debugger that
looks through all the internal objects and makes certain that they
all belong to someone.
vm_page.c:
Fixed a rather serious logic bug that would result in random system
crashes. Changed pagedaemon wakeup policy (again!).
vm_pageout.c:
Removed unnecessary page rotations on the inactive queue.
Changed the number of pages to explicitly free to just free_reserved
level.
Submitted by: John Dyson
argument is now more than just a single flag. (kern_malloc.c)
Used new M_KERNEL value for socket allocations that previous were
"M_NOWAIT". Note that this will change when we clean up the M_ namespace
mess.
Submitted by: John Dyson
some comparisons as it is more correct (we want the kernel page tables
included).
Reorganized some of the expressions for efficiency.
Fixed the new pmap_prefault() routine - it would sometimes pick up the
wrong page if the page in the shadow was present but the page in object
was paged out. The routine remains unused and commented out, however.
Explicitly free zero reference count page tables (rather than waiting
for the pagedaemon to do it).
Submitted by: John Dyson
Submitted by: wolf (Wolfgang Stanglmeier)
Most PCI specific files moved from sys/i386/pci to sys/pci.
One PC specific file (pcibus.c) new in sys/i386/isa.
Submitted by: wolf (Wolfgang Stanglmeier)
Obtained from:
Most PCI specific files moved from sys/i386/pci to sys/pci.
One PC specific file (pcibus.c) new in sys/i386/isa.
Now it matches the man page and also the only other commercial implementation
i have found so far ( Solaris 2.x).
Changed the name from ss_base to ss_sp.
Display update method changed, now allways write in memory buffer,
then periodically update physical display.
Speed improvements (now > 5 times faster than the old syscons).
History now circular buffer, with changeable size.
History scroll by up/down line, up/down page, home and end.
Backtab proberly implemented.
Now space for 96 function keys, 63 allocated standard, default now
SCO/SYSV compat again as in the old days.
New keyboard definition files ~share/syscons/keymaps/*
Misc fixes for old "hacks" that broke SCO/SYSV compat.
More that I forgot before writing this...
Handles at least Trantor T130 and ProAudioSpectrum adapters.
The pas driver has consequently been removed.
This driver can be configured without without interrupts.
Manpage to follow when PAS16 has been edited in.
Reviewed by: phk
Submitted by: Serge Vakulenko, <vak@cronyx.ru>