Commit Graph

89406 Commits

Author SHA1 Message Date
ru
bfbdfe00b3 This commit was generated by cvs2svn to compensate for changes in r114405,
which included commits to RCS files with non-trunk default branches.
2003-05-01 13:15:22 +00:00
ru
afe720d868 Removed files not present in v1.19 import. 2003-05-01 13:15:22 +00:00
ru
06b40fe5ee This commit was generated by cvs2svn to compensate for changes in r114402,
which included commits to RCS files with non-trunk default branches.
2003-05-01 13:09:50 +00:00
ru
c96557721b Virgin import of FSF groff v1.19 2003-05-01 13:09:50 +00:00
grog
9fa30633ed Note when we issue a request to the disk driver, so that we can
measure the time it spends.
2003-05-01 13:06:00 +00:00
davidxu
f63c44bf1c Fix compiling problem, p_tracee is in my local repository for
threaded process debugging, not ready for this time.
2003-05-01 12:16:06 +00:00
mbr
7258dc7901 Use only a 64bit hash filter table for ADM-Centaur cards like the
Accton EN2242 and the ADMtek AN985 cards.

PR:		32699
Submitted by:	Jean-Luc Richier <Jean-Luc.Richier@imag.fr>
Reviewed by:	phk
MFC after:	2 weeks
2003-05-01 09:31:01 +00:00
davidxu
a8c00fe70b Drop Giant lock before suspended, pick up it after resumed.
thread_suspend_check() is used in exit1() which still needs
Giant lock.
2003-05-01 07:29:25 +00:00
grog
2d8975b7db Remove VINUMDEBUG. vinum(8) always compiles with VINUMDEBUG to be able
to cope with kernel modules with VINUMDEBUG.
2003-05-01 07:19:29 +00:00
tjr
854348219c Do not attempt to free NULL dinodes (i_din1 or i_din2) in ffs_ifree().
These fields can be left as NULL if ffs_vget() allocates an inode but
fails before the dinode memory has been allocated. There are two cases
when this can occur: when we lose a race and another process has added
the inode to the hash, and when reading the inode off disk fails.

The bug was observed by Kris on one of the package-building machines.
See http://marc.theaimsgroup.com/?l=freebsd-current&m=105172731013411&w=2
In Kris's case, it was the bread() that failed because of a disk error.

The alternative to this patch is to ensure that ffs_vget() does not call
vput() when the inode that hasn't been properly initialised.
2003-05-01 06:41:59 +00:00
tjr
0b639b63af Free i_din2 instead of i_din1 in ffs_ifree() on UFS2 filesystems.
This is purely a cosmetic change because these members are in a
union together.
2003-05-01 06:38:27 +00:00
simokawa
196d69cdc5 Add description of '-o' and '-s'. 2003-05-01 06:33:13 +00:00
sos
9f4de55ff2 I'm pleased to announce that Promise is now supporting the FreeBSD
project by providing documentation (under NDA) and hardware for
testing. This commit is the first result of the cooperation, and
adds support for several of their new controllers that we didn't
support before (and probably newer would have without this arrangement).

Add support for the Promise SATA150 TX2/TX4 and the Promise TX4000
controllers. This also adds support for various motherboard fitted
Promise SATA/ATA chips.
Note that this code uses memory mapped registers to minimize overhead.
I belive FreeBSD has made another first in the Open Source world
by being able to release support for this :)
2003-05-01 06:20:50 +00:00
sos
4cf0da39d0 Relax the test for when to use LBA instead of CHS size. 2003-05-01 06:17:30 +00:00
ken
6aafb4d5db Fix compile errors on ia64 in dagetcapacity. Set block_len and maxsector
to 0 initially.  It seems that the ia64 backend isn't as "smart" as the
i386 backend, which realized that those variables were only set or used
when error == 0, and thus were not used uninitialized.
2003-05-01 05:16:13 +00:00
alc
9a40fc3cd6 Extend the scope of the vm_object locking in vm_object_split(). 2003-05-01 05:06:33 +00:00
peter
0c9f89b00a Commit a missed change to keep in sync with the MI elf loader. 2003-05-01 04:39:22 +00:00
peter
a6e9962a69 Argh. This was broken by the last-minute elf32/elf64/"elf kernel" changes. 2003-05-01 04:31:33 +00:00
peter
01deb99c4c Only use the pc bios stuff on i386's. I think this might even be unused
there too.
2003-05-01 04:23:15 +00:00
peter
42a3e790d1 Add AMD64 support to dev/fb. It isn't optimized. 2003-05-01 04:21:05 +00:00
peter
5f8dcd11b4 Update the hardcoded bus tags for early console support for amd64. 2003-05-01 04:19:19 +00:00
peter
d082f140fb I changed the numbering of the MODINFOMD_SMAP during the commit, so
recognize the old number for my development boxes so I can use old
loader/pxeboot for a while if I need to.
2003-05-01 04:18:02 +00:00
peter
7d490762a8 Nuke; repocopied to elf32_freebsd.c where it lives on. 2003-05-01 03:57:19 +00:00
peter
fb5fbfc750 Enable the i386 loader to load and run an amd64 kernel. If this puts
things over floppy size limits, I can exclude it for release builds or
something like that.  Most of the changes are to get the load_elf.c file
into a seperate elf32_ or elf64_ namespace so that you can have two
ELF loaders present at once.  Note that for 64 bit kernels, it actually
starts up the kernel already in 64 bit mode with paging enabled.  This
is really easy because we have a known minimum feature set.

Of note is that for amd64, we have to pass in the bios int 15 0xe821
memory map because once in long mode, you absolutely cannot make VM86
calls.  amd64 does not use 'struct bootinfo' at all.  It is a pure loader
metadata startup, just like sparc64 and powerpc.  Much of the
infrastructure to support this was adapted from sparc64.
2003-05-01 03:56:30 +00:00
alc
2eb952c37f Lock an update to a vm_object's ref_count. 2003-05-01 03:51:05 +00:00
peter
4303109c6b Hack to enable getting two different elf32 and elf64 loaders in the
same i386 loader binary.
2003-05-01 03:46:12 +00:00
peter
957453a3d6 <b30> is 'IA64' - ie: you're running on an ia64 in 32 bit mode. 2003-05-01 03:44:40 +00:00
simokawa
f5248132d5 Fix printf warning caused by recent CAM change. 2003-05-01 03:38:04 +00:00
peter
ff6e340060 Back out last commits. The elf64/elf32 kernel name thing was more pain
than it was worth.
2003-05-01 03:33:28 +00:00
peter
6a018fff12 Slight reorg and added AMD64 support. A couple of the MODINFOMD_* values
that were added to sparc64 and later powerpc, really should have been in
the MI area.  But changing that now with insufficient preperation will
just cause too much pain.

Move MD_FETCH() to the MI sys/linker.h file to avoid another two copies
of it.
2003-05-01 03:31:18 +00:00
alc
c2343f725b - Update the vm_object locking in vm_object_reference().
- Convert some dead code in vm_object_reference() into a comment.
2003-05-01 03:29:20 +00:00
alc
e9c4374a87 Lock accesses to the vm_object's ref_count and resident_page_count. 2003-05-01 03:10:38 +00:00
peter
931edfc6d0 Sync up with the files in the hammer branch in the p4 tree to get basic
AMD64 support.  There is still more to add.
2003-05-01 02:59:24 +00:00
tjr
910109ede4 Add the -j and -y options to the synopsis. 2003-05-01 02:37:46 +00:00
tjr
ddbd6efafa Flush streams before calling system() so that the output appears in the
right place in the output stream when redirected to a file (when full
buffering is enabled). Noticed by schweikh on freebsd-standards.
2003-05-01 02:36:27 +00:00
marcel
d39162a421 Don't emulate a MBR by handling the MBR::type attribute. It is
not needed at all. The BSD class will attach to a GPT class without
it.
2003-05-01 01:51:28 +00:00
grog
beb0ffad0f Add the #includes previously in individual .c files.
Change name of history file to History to avoid name conflicts.
2003-05-01 01:40:16 +00:00
grog
f8a75224c1 Move most #includes to vext.h.
Change name of history file to History to avoid name conflicts.

Don't try to make devices unless devfs has been removed.

Don't accept resetconfig command from a file.

Abused by:  Jens Schweikhardt <schweikh@schweikhardt.net>

Remove dead code (#if 0)

vinum_mirror: Don't try to create mirrors with 0 drives.

Found by: mismatch between enum kw in two different files.
2003-05-01 01:39:49 +00:00
grog
a2e7e1d3dd Move most #includes to vext.h.
Change name of history file to History to avoid name conflicts.

Rewrite minor number decoding.  Now we have only three types of
object: subdisks, plexes and volumes.  The encoding for plexes and
subdisks no longer reflects the object to which they belong.  The
super devices are high-order volume numbers.  This gives vastly more
potential volumes (4 million instead of 256).

Don't try to chown directories if they haven't been created.
2003-05-01 01:39:42 +00:00
grog
204977daef Move most #includes to vext.h.
vinum_info: Use increasing verbosity to show time spent in disk
	    driver.

Correct a comment.
2003-05-01 01:38:55 +00:00
grog
9294238540 Rewrite minor number decoding. Now we have only three types of
object: subdisks, plexes and volumes.  The encoding for plexes and
subdisks no longer reflects the object to which they belong.  The
super devices are high-order volume numbers.  This gives vastly more
potential volumes (4 million instead of 256).
2003-05-01 01:35:03 +00:00
grog
94787ab431 For consistency's sake, on command failure, throw 1, not -1.
Rewrite minor number decoding.  Now we have only three types of
object: subdisks, plexes and volumes.  The encoding for plexes and
subdisks no longer reflects the object to which they belong.  The
super devices are high-order volume numbers.  This gives vastly more
potential volumes (4 million instead of 256).
2003-05-01 01:34:38 +00:00
grog
f5210909e5 Rewrite minor number decoding. Now we have only three types of
object: subdisks, plexes and volumes.  The encoding for plexes and
subdisks no longer reflects the object to which they belong.  The
super devices are high-order volume numbers.  This gives vastly more
potential volumes (4 million instead of 256).

Correct formats for some error messages.  Don't cast the value to
match the format.
2003-05-01 01:34:05 +00:00
grog
30844b0b17 Rewrite minor number decoding. Now we have only three types of
object: subdisks, plexes and volumes.  The encoding for plexes and
subdisks no longer reflects the object to which they belong.  The
super devices are high-order volume numbers.  This gives vastly more
potential volumes (4 million instead of 256).

Tidy up comments.

Check for null rqgs.  This continue to be reported, though I can't
work out why.

Correct formats for some error messages.  Don't cast the value to
match the format.

Use microtime, not getmicrotime, for timing debug entries.
2003-05-01 01:33:34 +00:00
grog
afee8cda86 Terminate a comment. 2003-05-01 01:33:01 +00:00
grog
d881a18c88 Don't make definition of kw_debug dependent on VINUMDEBUG. In
userland, define the keyword even if the kernel module doesn't have
debug code.
2003-05-01 01:32:31 +00:00
grog
0d67c021fc Use strrchr, not rindex. This is for compatibility with other
systems, and requires a #define.
2003-05-01 01:32:08 +00:00
grog
6d8afb2f55 #ifdef VINUMDEBUG, not #if VINUMDEBUG. 2003-05-01 01:31:48 +00:00
grog
7eee880717 Don't make definition of kw_debug dependent on VINUMDEBUG. It's only
an enum value, and dropping it can lead to some spectacular surprises
in userland.
2003-05-01 01:31:20 +00:00
grog
6e5552bb35 Rewrite minor number decoding. Now we have only three types of
object: subdisks, plexes and volumes.  The encoding for plexes and
subdisks no longer reflects the object to which they belong.  The
super devices are high-order volume numbers.  This gives vastly more
potential volumes (4 million instead of 256).

As a result of the minor number changes, split out the superdevice
handling into a separate function, vinum_super_ioctl.  This was most
of the code of vinumioctl.

attachobject: Improve error checking.
2003-05-01 01:30:59 +00:00