Commit Graph

97152 Commits

Author SHA1 Message Date
iedowse
c0307eb60b Don't include the file system ID in the output of `mount -v' if it
is all zeros. The kernel now consistently zeroes FSIDs for non-root
users, so there's no point in printing these. Also fix a misspelling
in a comment.

Submitted by:	Rudolf Cejka <cejkar@fit.vutbr.cz>
Approved by:	re (scottl)
2003-12-05 09:22:40 +00:00
imp
4b6e70136e Updated man page from cronyx.
Forgotten by: imp
Reminded by: Roman Kurakin
Approved by: re@ <scottl>
2003-12-05 07:03:58 +00:00
imp
12ec83b05a File forgotten in the cx shuffle.
Pointed out by: Roman Kurakin
Approved by: re@ <scottl> (under go ahead and commit new cx approval)
2003-12-05 06:52:05 +00:00
imp
f1d2a9b826 Fix the case where one goes from zero to more than zero items enabled
in /etc/ttys.  Before this fix, once the count of active services
reaches 0, one could never restart any more without a reboot.

Steve Passe did the leg work on this patch.  After he found the fix,
we discovered that an identical fix had been made to NetBSD.

Approved by: re@ <scottl>
Approval tool: peril sensitive sunglasses
2003-12-05 04:28:03 +00:00
matk
b31063e7fd Fix some locking violations by creating seperate mutex classes
for play and record channels.

Approved by:	seigo (mentor)
Approved by:	scottl (re)
2003-12-05 02:08:13 +00:00
peter
bf613741f0 Apply a second fix for stack alignment with libkse. This time, enter the
UTS with the stack correctly aligned.  Also, while here, use an indirect
jump rather than the pushq/ret hack.

This fixes threaded apps that use floating point for me, although
it hasn't solved all the problems.  It is an improvement though.
Preservation of the 128 byte red zone hasn't been resolved yet.

Approved by:  re (scottl)
2003-12-05 01:41:43 +00:00
peter
b339dae7c2 "Fix" makecontext() so that the C code begins execution with its
ABI-required stack alignment.  C code expects that the push of the
return address disturbed the 16 byte alignment and it will take corrective
measures to fix it before making another call.  Of course, if its wrong
to start with, then all hell breaks loose.  Essentially we "fix" this
by making the stack alignment odd to start with.

This was one of the things that broke on libkse with apps that use
floating point/varargs/etc.

Approved by:  re (scottl)
2003-12-05 01:36:44 +00:00
scottl
a6ef4bf45a Fix a potential problem with atapi-cam where an incorrect flag is passed
into the ata queueing layer.

Approved by:	re
2003-12-05 01:02:46 +00:00
des
58a80882bd Since the fdc driver can't autodetect the drive capacity on the Alpha,
give it a hint that fd0 is a 1440 kB drive.

PR:		alpha/59026
Approved by:	re (murray)
2003-12-05 00:57:11 +00:00
bmah
691fcf3666 New (well, belatedly added) errta: SA-03:19.
Approved by:	re (implicitly)
2003-12-04 23:53:54 +00:00
phk
f2864824a3 Fix yet an oversight in my ELAN_* to CPU_ELAN_* debrucification commit.
Approved by:	re@
2003-12-04 19:57:56 +00:00
bmah
46be843607 For some reason, we never mentioned the cx(4) driver here, even though
it even has a manual page.  Correct this oversight.

Approved by:	re (implicitly)
2003-12-04 19:22:06 +00:00
bmah
2bcde944fd New release notes: cx(4) update and sconfig(8), utopia(4) [1], wi(4)
works on Lucent cards, NFSv4 client support, GNOME/KDE "Lite Edition"
on disc 1.

Approved by:	re (implicitly)
Submitted by:	harti [1]
2003-12-04 19:20:28 +00:00
des
fa3c43de2f Merge in uncommitted changes from the running configuration. 2003-12-04 10:22:56 +00:00
des
aad960d907 RELENG_5_2 is right around the corner. 2003-12-04 10:21:06 +00:00
imp
7350ac0171 Remove cx in its old location.
Approved by: re@ <scottl>
2003-12-03 23:07:37 +00:00
imp
9c55ee8450 Connect the cx driver to its new location in the tree.
Update notes to reflect that cx is no longer a counted device
Update options for new cx option
# commented out ELAN_PPS and ELAN_XTAL since they produced errors

Submitted by: rik@cronyx.ru
Approved by: re@ <scottl>
2003-12-03 23:06:30 +00:00
imp
03373578dd There is no such thing as a pc98 machine with ISA expansion slots, nor
is there a C-BUS Cronyx Sigma board.  Remove it from pc98 files and lint.

Approved by: re <scottl>
2003-12-03 21:44:44 +00:00
jhb
0ba1c843f3 - Reenable building of the ACPI module on i386.
- Remove 'device acpi' from i386 GENERIC and revert back to using ACPI as
  a module by default.

Approved by:	re (scottl / blanket)
2003-12-03 21:13:06 +00:00
jhb
f218c9a3f0 - Remove the hack to prevent the acpi module from loading.
- Add a really, really, nasty hack to provide stub versions of all of
  the 'device apic' functions used by the ACPI MADT APIC enumerator if
  'device apic' is not compiled into the kernel.  This is gross but is
  the best we can do with the current kernel linker implementation.

Approved by:	re (scottl / blanket)
2003-12-03 21:12:09 +00:00
jhb
af58c0d9f3 Add madt.c to the list of sources for i386.
Approved by:	re (scottl / blanket)
2003-12-03 21:10:02 +00:00
jhb
bfe6af52a8 - Reorder the APIC enumerator SYSINIT's to register enumeators at
SI_SUB_CPU - 1 and probe enumerators, probe CPUs, and setup the local
  APIC programming all at SI_SUB_CPU / SI_ORDER_FIRST.  This is needed to
  help get the ACPI module working again as it moves the APIC enumeration
  code after SI_SUB_KLD.
- In the MADT parser, use mp_maxid rather than MAXCPU to terminate a loop
  when assigning per-cpu ACPI IDs to avoid a dependency on 'options SMP'.
- Allow the apic device to be disabled via 'hint.apic.0.disabled' from the
  loader.  Note that since this is done in the local APIC code, it works
  for both the ACPI and non-ACPI cases.

Approved by:	re (scott / blanket)
2003-12-03 20:33:18 +00:00
jhb
60c6b104ef Update this driver to be more module friendly:
- Dynamically allocate the cpu_softc[] array based on mp_maxid instead of
  using a statically sized array that depended on 'options SMP'.
- Use mp_maxid rather than MAXCPU when walking all the CPUs looking for a
  match.
- Always call smp_rendezvous() since UP kernels now provide this.
- Use mp_ncpus rather than cpu_ndevices when determining if we need to
  disable C3 for SMP machines.

Approved by:	re (rwatson)
Reviewed by:	njl
2003-12-03 20:27:48 +00:00
imp
91ba98c804 Remove cxconfig and add sconfig
# maybe we can remove sconfig later from rescue?

Submitted by: Roman Kurakin <rik@cronyx.com>
Approved by: re@ <scottl>
2003-12-03 17:12:35 +00:00
imp
73d89551dc Remove old cxconfig utility and connect new sconfig utility to the build.
The sconfig utility supports more than just cx boards, and those drivers
will make their way into FreeBSD shortly (maybe before 5.2).

Confirmed that this doesn't break the build.

Submitted by: Roman Kurakin <rik@cronyx.ru>
Approved by: re@ <scottl>
2003-12-03 17:09:41 +00:00
imp
cb07f8075e + Patch is not my friend, but an evil toad
+ Patch is not my friend, but an evil toad

Remove redunant copy of each of these files that patch appended to them.
# Still not connected to the build.

Approved by: re@ <scottl>
2003-12-03 17:03:20 +00:00
scottl
93b40022fb Temporary workaround for aac_cam to deal with CAM requiring Giant. This
should fix the panics on boot with newer Adaptec RAID cards.

Approved by:	re (rwatson)
2003-12-03 15:42:12 +00:00
sos
86b39578a0 Fix for the missing slave problem.
Approved by: re@
2003-12-03 15:32:53 +00:00
jhb
4b61439e79 Fix all users of mp_maxid to use the same semantics, namely:
1) mp_maxid is a valid FreeBSD CPU ID in the range 0 .. MAXCPU - 1.
2) For all active CPUs in the system, PCPU_GET(cpuid) <= mp_maxid.

Approved by:	re (scottl)
Tested on:	i386, amd64, alpha
2003-12-03 14:57:26 +00:00
jhb
907202ec1f Export a few SMP related symbols in UP kernels as well. This is needed to
aid other kernel code, especially code which can be in a module such as
the acpi_cpu(4) driver, to work properly with both SMP and UP kernels.
The exported symbols include mp_ncpus, all_cpus, mp_maxid, smp_started, and
the smp_rendezvous() function.  This also means that CPU_ABSENT() is now
always implemented the same on all kernels.

Approved by:	re (scottl)
2003-12-03 14:55:31 +00:00
sos
e57603da9f Fix modesetting on ISA only systems.
Approved by: re@
2003-12-03 13:40:26 +00:00
imp
e3ca591a9b New cx driver part 2: Commit the new userland pieces.
This is the new cronyx serial control program.

# A future commit will remove the old driver/userland pieces and connect things
# to the build.

Submitted by: Roamn Kurakin <rik@cronyx.ru>
2003-12-03 07:59:49 +00:00
phk
f9608ecffb Fix our kernel support for Basic Block Profiling to work with GCC33.
Approved by:	re@
2003-12-03 07:43:03 +00:00
phk
8bd5f2d4e2 Align the .ctors section correctly.
This fixes the 75% probable panic when using basic block profiling.

Approved by:	re@
2003-12-03 07:40:03 +00:00
imp
f6ae273bd0 Updated cx driver commit part 1: bring in the new kernel driver.
This is the vastly updated cx drvier from Roman Kurakin <rik@cronyx.ru>
who has been patiently waiting for this update for sometime.

The driver is mostly a rewrite from the version we have in the tree.
While some similarities remain, losing the little history that the old
driver has is not a big loss, and the re@ felt it was easier this way (less
error prone).

The userland parts of this update will be committed shortly.

The driver is not connected to the build yet.  I want to make sure I
don't break any platform at any time, so I want to test that with
these files in the tree before I continue (on the off chance I'm
forgetting a file).

I changed the DEBUG macro to CX_DEBUG from the code that was submitted
(to not break when we go to building with opt_global.h after the
release), as well adding $FreeBSD$.

Submitted by: Roman Kurakin
Approved by: re@ <scottl>
2003-12-03 07:29:38 +00:00
peter
9524d14ce6 Catch up with the procsig locking changes elsewhere. We were doing
things like copyin/out with psp->ps_mtx held.  That was not good.

Approved by:  re (scottl)
2003-12-03 07:00:30 +00:00
peter
5f7b345732 Add an additional knob to just disable the apic code without also having
to resort to disabling acpi as well.  I'll document this in the release
notes for amd64.

Approved by: re (scottl)
2003-12-03 06:58:48 +00:00
peter
976bb368f6 For the amd64 we need to do some extra stack alignment fixups. Otherwise
we can end up with some threads with a non-16-byte-aligned stack.  This
causes some interesting side effects, including general protection
faults leading to a SIGBUS when doing floating point or varargs.  This
should be just a verbose NOP for the other platforms.

Approved by:  re (scottl)
2003-12-03 06:54:40 +00:00
pdeuskar
53610e3cd2 Use if_flags to check for IFF_POLLING instead of if_ipending.
Submitted by:	jroberson (Jeff Roberson)
Approved by:	re (scottl)
2003-12-02 22:13:08 +00:00
brooks
2b3284fdce Reconnect ipfstat, ipnat, and ipftest to the build now that if_xname
support is enabled.

Approved by:	re (scottl)
2003-12-02 21:52:14 +00:00
andre
d0ffd0a240 Swap destination and source arguments of two bcopy() calls.
Before committing the initial tcp_hostcache I changed them from memcpy()
to conform with FreeBSD style without realizing the difference in argument
definition.

This fixes hostcache operation for IPv6 (in general and explicitly IPv6
path mtu discovery) and T/TCP (RFC1644).

Submitted by:	Taku YAMAMOTO <taku@cent.saitama-u.ac.jp>
Approved by:	re (rwatson)
2003-12-02 21:25:12 +00:00
marcus
76b226be4b Replace the KDE and GNOME 2 desktops with KDE (Lite Edition) and GNOME 2
(Lite Edition) respectively.  These "lite" packages are streamlined to
provide users with the core essentials for each desktop and to fit on the
release disc 1.

Approved by:	re (scottl)
2003-12-02 20:49:46 +00:00
marcus
fae9265a62 Depend on kde-lite and gnome2-lite instead of kde3 and gnome2. This greatly
reduces the amount of space occupied by packages on release disc 1.

Approved by:	re (scottl)
2003-12-02 20:47:31 +00:00
brooks
5c7716ee9f This commit was generated by cvs2svn to compensate for changes in r123109,
which included commits to RCS files with non-trunk default branches.
2003-12-02 18:33:36 +00:00
brooks
244f075414 This is a direct commit to the vendor branch with code from the vendor.
Replace the if_name and if_unit members of struct ifnet with new members
if_xname, if_dname, and if_dunit. if_xname is the name of the interface
and if_dname/unit are the driver name and instance.

This change paves the way for interface renaming and enhanced pseudo
device creation and configuration symantics.

Submitted by:	darrenr
Approved by:	re (scottl)
2003-12-02 18:33:36 +00:00
brooks
7de7c1cd28 Use parens more reasionably so we match the vendor code. This is part
of the if_xname change.

Submitted by:	darrenr
Approved by:	re (scottl)
2003-12-02 18:28:00 +00:00
mtm
9449459c17 Use dynamic instead of static LDT allocation.
Approved by: re (scottl)
2003-12-02 16:00:26 +00:00
bde
ba4ca33c01 Fixed panics in apic interrupt handlers if kernel profiling is turned
on.  MCOUNT and FAKE_MCOUNT() may clobber all the call-used registers,
and one FAKE_MCOUNT() was placed so that an active %eax was clobbered.
The fix is to move this FAKE_MCOUNT() earlier where it should have
been anyway.

Fixed 3 layers of bitrot in the comment about why this FAKE_MCOUNT()
was where it was by removing the comment.  (mcount() should be called
as early as possible after entering a new level, but an implementation
detail got in the way until 3 layers of changes ago.)

Kernel profiling still gives wrong results because the new interrupt
code rearranged object files too much.  mcount() depends on trap,
syscall and interrupt handlers being between certain magic labels with
interrupt handlers last, and on nothing else being there.  Splitting
up exception.o moved the magic labels to effectively random places
relative to what they are supposed to delimit.  This mainly broke the
call graph; the flat profile is still usable.
2003-12-02 15:02:12 +00:00
bde
9eb4aeb903 Fixed some minor indentation bugs.
Approved by:	re (scottl)
2003-12-02 12:47:08 +00:00
bde
68eb4e63a3 Fixed breakage of the pci case of the cy driver by the new interrupt
code.  Both the driver and the new code were wrong.  Driver interrupt
handlers are supposed to take "void *vsc" arg, but some including all
COMPAT_ISA drivers and the pci part of the cy driver want an "int unit"
arg.  They got this using bogus casts of function pointers which should
have kept working despite their bogusness.  However, the new interrupt
code doesn't honor requests to pass an arg of ((void *)0), so things
are very broken if the arg is actually a representation of unit 0.

The fix is to use a normal "void *vsc" arg for the pci case and a
wrapper for the COMPAT_ISA case (of the cy driver).  This cleans up
new-busification of the pci case but takes the COMPAT_ISA case a little
further from new-bus.  The corresponding bug for the COMPAT_ISA case
has already been fixed similarly using a wrapper in compat_isa.c and
we need another wrapper just to undo that.

Fixed some directly related style bugs (mainly by removing compatibility
cruft).

cy.c:
Fixed an indirectly related old bug in cyattach_common().  A wrong status
was returned in the unlikely event that malloc() failed.

Approved by:	re (scottl)
2003-12-02 12:36:00 +00:00