704 Commits

Author SHA1 Message Date
tjr
8a2532c456 Add preliminary support for running 32-bit Linux binaries on amd64, enabled
with the COMPAT_LINUX32 option. This is largely based on the i386 MD Linux
emulations bits, but also builds on the 32-bit FreeBSD and generic IA-32
binary emulation work.

Some of this is still a little rough around the edges, and will need to be
revisited before 32-bit and 64-bit Linux emulation support can coexist in
the same kernel.
2004-08-16 07:55:06 +00:00
markm
f516045149 Making a loadable null.ko for /dev/(null|zero) proved rather
unpopular, so remove this (mis)feature.

Encouragement provided by:	jhb (and others)
2004-08-03 19:24:54 +00:00
markm
b8bae5430c Add the I/O device for those architectures that have it. 2004-08-01 19:37:34 +00:00
markm
a6c822020d Break out the MI part of the /dev/[k]mem and /dev/io drivers into
their own directory and module, leaving the MD parts in the MD
area (the MD parts _are_ part of the modules). /dev/mem and /dev/io
are now loadable modules, thus taking us one step further towards
a kernel created entirely out of modules. Of course, there is nothing
preventing the kernel from having these statically compiled.
2004-08-01 11:40:54 +00:00
imp
5a3e9fbaf3 Remove ahb, aha, ie, le and wl devices. They are all ISA/EISA only.
I went ahead and left in the ISA cards that also have pccard
attachments.  There's no way that these devices could attach.

OK'd by: peter
2004-07-22 22:29:45 +00:00
imp
0973e758b4 There is no pcic device on amd64. OLDCARD isn't supported, and
NEWCARD will call it something different.  and there are no ISA add-in
devices.
2004-07-22 22:28:34 +00:00
scottl
7ad60316cd Enable ADAPTIVE_MUTEXES by default by changing the sense of the option to
NO_ADAPTIVE_MUTEXES.  This option has been enabled by default on amd64 for
quite some time, and has been extensively tested on i386 and sparc64.  It
shows measurable performance gains in many circumstances, and few negative
effects.  It would be nice in t he future if adaptive mutexes actually went
to sleep after a certain amount of spinning, but that will require quite a
bit more testing.
2004-07-18 15:59:03 +00:00
maxim
531ff1b33d In -CURRENT pseudo devices are not statically assigned at compile time,
remove a stale comment.

PR:		kern/62285
2004-07-18 09:03:12 +00:00
ps
8f0acfb821 Fix the build. pcm is no more. 2004-07-16 21:48:30 +00:00
marcel
f18ce8babb Add options KDB and GDB. KDB takes on the function of what DDB used
to be. Both DDB and GDB specify which KDB backends to include.
2004-07-11 03:20:09 +00:00
obrien
a57bdc7ec6 The majority of FreeBSD/amd64 machines are SMP, so use ADAPTIVE_MUTEXES
by default to improve performance.
2004-06-13 23:03:57 +00:00
peter
1c9355a69a MFi386: add ixgp device 2004-06-03 21:40:41 +00:00
peter
4070a4a8d4 Turn on modules for amd64. Fear. 2004-05-17 22:13:14 +00:00
peter
a3df9de5e8 Converge some more with i386. 2004-05-16 21:27:29 +00:00
peter
f0d8d38564 MFi386: add rue and twa 2004-05-16 20:57:01 +00:00
marcel
381147f827 Add option GEOM_GPT. This brings the ability to have a large number of
partitions on a single disk.
2004-05-02 20:40:19 +00:00
obrien
3937b2c0ab Spell Ethernet correctly. 2004-05-02 18:57:29 +00:00
obrien
596137082c Add NTFS since many may want to dual-boot MS-Win64 w/FreeBSD. 2004-03-25 03:19:28 +00:00
obrien
8d108c2b54 'vi' got away from me in rev. 1.13. 2004-03-19 03:28:38 +00:00
obrien
1afdbf7134 Cleanup hints, given that no hammer machine have (nor ever will have)
ISA slots.

Submitted by:	Peter
2004-03-18 00:18:45 +00:00
obrien
e3a889945b Shorten a long comment. 2004-03-15 00:49:40 +00:00
peter
8024902d9a MFp4: comment out options that don't exist so that they cannot be
accidently added to config files and be silently accepted.
Comment out one bogo-option that crept into NOTES.
2004-03-13 22:16:34 +00:00
peter
8ed79310d3 Diff reduction with current. Correct comment about ed etc. 2004-03-13 22:14:18 +00:00
obrien
f5816d0166 Document that ENABLE_ALART controls the alarm on Intel intpm driver.
Submitted by:	peter
2004-03-05 08:04:10 +00:00
obrien
78a4cdcfbb Sync with i386/NOTES. 2004-03-05 07:48:47 +00:00
obrien
2fabf08363 Add comment for 'mptable'.
Submitted by:	peter
2004-03-05 07:44:17 +00:00
obrien
c1d81832b1 Note that imp is working on un-shimming this driver, afterwards it should
work on AMD64.
2004-03-05 06:23:08 +00:00
obrien
ee5eaafdc6 The PECOFF support is 32-bit only.
Reviewed by:	peter
2004-03-05 05:08:22 +00:00
obrien
9454beccf2 Sync with i386/NOTES rev. 1.1131. 2004-03-03 09:26:40 +00:00
obrien
4858ef7527 Checkpoint the NOTES I was working on. 2004-02-19 04:39:14 +00:00
peter
2758e4d126 I forgot to add the NO_MODULES override for NOTES 2004-02-08 00:39:38 +00:00
peter
bc64bec121 Turn of ath since it causes a link failure without the hal till sam's
set up with a cross compiler and has the time to port the hal.
2004-02-06 01:51:58 +00:00
peter
ff4831ac36 Checkpoint a NOTES file I had as of Nov 23rd. It doesn't quite compile
due to triggering some printf breakage in some DIAGNOSTIC printfs.
2004-02-04 22:53:50 +00:00
obrien
7cbe948ad2 Remove a device that will compile fine, isn't 64-bit clean. 2004-02-02 00:54:59 +00:00
peter
da4e5dcea7 GRR. MFi386: white space spam 2004-01-30 03:02:45 +00:00
jeff
8a4acc2156 - Recruit some new ULE users by making it the default scheduler in GENERIC.
ULE will be in a probationary period to determine whether it will be left
   as the default in 5.3 which would likely mean the rest of the 5.x series.
2004-01-24 21:38:52 +00:00
nectar
70865363ca Add PFIL_HOOKS to the GENERIC kernel configuration, primarily so
that one can load the IPFilter module (which requires PFIL_HOOKS).

Requested by:	Many, for over a year
2004-01-24 14:59:51 +00:00
peter
9f3e95f4cd Turn on NO_MIXED_MODE for amd64 generic. It turns out that all the
known samples of broken chipsets that needed mixed mode in the first place
are so broken (ie: locks up) that we can't use IO APIC mode at all and it
needs to be turned off in the bios.  So, the MIXED_MODE penalty on the
good chipsets gained nothing.

Approved by:  re (scottl)
2003-11-21 03:19:59 +00:00
peter
404972795a Sync with i386.
- turn on SMP in generic
- add 'device atpic' - this is unconditional on i386, but certain nvidia
  based systems need to disable acpi because the reference bios seems to be
  hosed.  If acpi is disabled, we won't find the apic.  amd64 has the
  mptable code in a seperate compile option as well.
- turn sym back on, it doesn't fail to compile anymore.

Approved by: re
2003-11-19 18:11:27 +00:00
peter
a2fff099b7 The great s/npx/fpu/gi 2003-11-08 03:33:38 +00:00
peter
e3ffb41b64 Converge with i386/GENERIC 2003-11-08 03:17:36 +00:00
joerg
8dbe9dcdd4 Mention the puc(4) glue driver in a commented-out example so the user
of "dumb" PCI-based serial/parallel boards get a hint how to enable
them.

I wasn't sure about the ia64, pc98, powerpc, and sparc64 archs whether
they'd support puc(4) or not.
2003-09-19 20:04:55 +00:00
obrien
0cbf0b4b66 Statically compile in sound as we don't have modules yet. 2003-09-15 22:40:00 +00:00
obrien
f9ed8af720 Sort 'bge' correctly. 2003-09-10 18:54:59 +00:00
peter
9eac29c0b9 Turn aac back on now that its been cleaned up for 64 bit compilation 2003-09-08 20:00:55 +00:00
wpaul
ce0ede96f1 Take the support for the 8139C+/8169/8169S/8110S chips out of the
rl(4) driver and put it in a new re(4) driver. The re(4) driver shares
the if_rlreg.h file with rl(4) but is a separate module. (Ultimately
I may change this. For now, it's convenient.)

rl(4) has been modified so that it will never attach to an 8139C+
chip, leaving it to re(4) instead. Only re(4) has the PCI IDs to
match the 8169/8169S/8110S gigE chips. if_re.c contains the same
basic code that was originally bolted onto if_rl.c, with the
following updates:

- Added support for jumbo frames. Currently, there seems to be
  a limit of approximately 6200 bytes for jumbo frames on transmit.
  (This was determined via experimentation.) The 8169S/8110S chips
  apparently are limited to 7.5K frames on transmit. This may require
  some more work, though the framework to handle jumbo frames on RX
  is in place: the re_rxeof() routine will gather up frames than span
  multiple 2K clusters into a single mbuf list.

- Fixed bug in re_txeof(): if we reap some of the TX buffers,
  but there are still some pending, re-arm the timer before exiting
  re_txeof() so that another timeout interrupt will be generated, just
  in case re_start() doesn't do it for us.

- Handle the 'link state changed' interrupt

- Fix a detach bug. If re(4) is loaded as a module, and you do
  tcpdump -i re0, then you do 'kldunload if_re,' the system will
  panic after a few seconds. This happens because ether_ifdetach()
  ends up calling the BPF detach code, which notices the interface
  is in promiscuous mode and tries to switch promisc mode off while
  detaching the BPF listner. This ultimately results in a call
  to re_ioctl() (due to SIOCSIFFLAGS), which in turn calls re_init()
  to handle the IFF_PROMISC flag change. Unfortunately, calling re_init()
  here turns the chip back on and restarts the 1-second timeout loop
  that drives re_tick(). By the time the timeout fires, if_re.ko
  has been unloaded, which results in a call to invalid code and
  blows up the system.

  To fix this, I cleared the IFF_UP flag before calling ether_ifdetach(),
  which stops the ioctl routine from trying to reset the chip.

- Modified comments in re_rxeof() relating to the difference in
  RX descriptor status bit layout between the 8139C+ and the gigE
  chips. The layout is different because the frame length field
  was expanded from 12 bits to 13, and they got rid of one of the
  status bits to make room.

- Add diagnostic code (re_diag()) to test for the case where a user
  has installed a broken 32-bit 8169 PCI NIC in a 64-bit slot. Some
  NICs have the REQ64# and ACK64# lines connected even though the
  board is 32-bit only (in this case, they should be pulled high).
  This fools the chip into doing 64-bit DMA transfers even though
  there is no 64-bit data path. To detect this, re_diag() puts the
  chip into digital loopback mode and sets the receiver to promiscuous
  mode, then initiates a single 64-byte packet transmission. The
  frame is echoed back to the host, and if the frame contents are
  intact, we know DMA is working correctly, otherwise we complain
  loudly on the console and abort the device attach. (At the moment,
  I don't know of any way to work around the problem other than
  physically modifying the board, so until/unless I can think of a
  software workaround, this will have do to.)

- Created re(4) man page

- Modified rlphy.c to allow re(4) to attach as well as rl(4).

Note that this code works for the sample 8169/Marvell 88E1000 NIC
that I have, but probably won't work for the 8169S/8110S chips.
RealTek has sent me some sample NICs, but they haven't arrived yet.
I will probably need to add an rlgphy driver to handle the on-board
PHY in the 8169S/8110S (it needs special DSP initialization).
2003-09-08 02:11:25 +00:00
obrien
92a13add46 MFi386: add device ataraid, this is now seperate and not pulled in by atadisk. 2003-09-03 01:24:47 +00:00
peter
b851e36619 Turn ips back on. 2003-06-27 23:11:22 +00:00
peter
b29d321359 Oops, I only added a comment about why ips doesn't compile. Actually
comment it out for real.
2003-06-26 04:01:59 +00:00
peter
5d98ddee25 Sync with i386 - add everything that compiles. There are a few drivers
that are trivially easy to fix (eg: ips) that I've not committed fixes for.
2003-06-26 03:49:54 +00:00