Commit Graph

188103 Commits

Author SHA1 Message Date
snj
29aa1b84fb Fix punctuation and update "SEE ALSO" section. From Bug Hunting in
PR misc/40293.
2010-02-17 00:49:21 +00:00
dyoung
c26d0a3ad4 Initialize the temporary pmf_qual_t in pmf_device_subtree_release()
to avoid a failed ds != NULL assertion, later.
2010-02-17 00:15:24 +00:00
mlelstv
7974872552 Three changes in a single commit.
- drop the notion of frags (LFS fragments) vs fsb (FFS fragments)
  The code uses a complicated unity function that just makes the
  code difficult to understand.

- support larger sector sizes. Fix disk address computations
  to use DEV_BSIZE in the kernel as required by device drivers
  and to use sector sizes in userland.

- Fix several locking bugs in lfs_bio.c and lfs_subr.c.
2010-02-16 23:20:30 +00:00
mlelstv
b076c4eba1 Read the padded superblocks to avoid problems with disks that have
larger sectors than 512 Bytes.
2010-02-16 23:13:13 +00:00
pooka
643ba90bf0 Globally define -Wno-pointer-sign, as it has become a pointless
exercise of "add it to every Makefile individually".

XXX: should autosynchronize with the rest of the kernel buildflags
in sys/conf/Makefile.kern.inc.
2010-02-16 20:42:44 +00:00
pooka
97fada1858 remove -D__NetBSD__ (it's done globally now) 2010-02-16 20:34:03 +00:00
wiz
0e14adec54 Remove trailing whitespace. 2010-02-16 19:59:31 +00:00
dyoung
a60f2abe1f PCI Configuration Mechanisms #1 and #2 are controlled by two to
three registers.  Let us think of the kernel operating the registers
in two steps:

1) Select: enable configuration cycles and select a range of
   configuration-space addresses.

2) Access: read or write a word in PCI configuration space.

To make the steps more explicit, extract some helper subroutines
from pci_conf_read(9) and pci_conf_write(9):

pci_conf_selector(tag, reg): from a pcitag_t and a register offset,
    create a word that enables configuration cycles and selects a
    configuration address range.

pci_conf_select(w): for `w' a word created by pci_conf_selector(),
    enable configuration cycles and select the address range indicated
    by `w'.

pci_conf_select(0): disable configuration cycles.

pci_conf_port(tag, reg): map a pcitag_t and a register offset to an I/O
    port where the configuration access should occur.

While I'm in here, change the panic(9) calls to panic("%s: ...",
__func__) instead of hard-coding a subroutine name.
2010-02-16 19:29:40 +00:00
rmind
2ef24fabcc kpreempt(9): add a note when kernel preemption is disabled/deferred.
Sprinkle cross-links, bump dates.
2010-02-16 19:21:30 +00:00
mlelstv
03a893b3fd Read the padded superblocks to avoid problems with disks that have
larger sectors than 512 Bytes.
2010-02-16 18:57:53 +00:00
skrll
bce51a654b Remove the dma24_ex method of dealing with BUS_DMA_24BIT and replace
with a uvm managed freelist of pages in the right range.
2010-02-16 16:56:29 +00:00
msaitoh
b601f7daf0 Add support for 82575, 82576 and 82580(ER).
- Apply the patch for 82575 from Wolfgang Stukenbrock (PR#42422). We use
  only one RX ring and with the legacy mode.
- Add support for 82576.
- Partial support for 82580.
- Partial support for the serdes systems.
2010-02-16 15:17:17 +00:00
msaitoh
ce91bef2c6 Add an entry for SAS controller. 2010-02-16 10:11:47 +00:00
msaitoh
ddce6a6e5c regen. 2010-02-16 10:10:26 +00:00
msaitoh
65f53e95ec Add entries for 82576 and 82580 2010-02-16 10:10:04 +00:00
msaitoh
bff00e11f7 indent, tabify and remove extra spaces. 2010-02-16 10:06:19 +00:00
dholland
4db9f70f12 Latin police: use proper conjugation.
(whether the rest of the affected fortune is valid either is debatable)
2010-02-16 09:53:51 +00:00
dholland
1b722ce8d0 Don't inspect vn_stat() results until after checking that it succeeded.
If anyone's been seeing random "File too large" results from module loading,
this should fix it.
2010-02-16 05:47:52 +00:00
mrg
c291955dfd only fsck / if we find it in /etc/fstab. diskless systems don't need
a / entry.

XXX: still get an error from "mount /" in etc/rc.d/root itself.
2010-02-16 02:46:02 +00:00
pgoyette
da75d7bdc1 Move acpismbus into proper place, alphabetically. 2010-02-16 01:18:02 +00:00
jym
6d2adb482c - re-factor code in pmap_map_ptes() slightly, and make it PAE-ready for
native i386 by using PDP_SIZE

- introduce pmap_unmap_apdp(), used to clear the APDP entries in PD, and
replace the relevant code parts with this function.

Comes from Jeremy Morse's patch for i386 PAE support. Adjustments by me.
2010-02-16 00:48:17 +00:00
dyoung
871ebd4c6d Declare pci_mode_set(). 2010-02-16 00:47:46 +00:00
mrg
6e2ca6e89b update this a little bit. 2010-02-16 00:16:28 +00:00
mrg
ac4a5823ad if pthread_create() fails, display the iteration number in the error message. 2010-02-16 00:15:19 +00:00
mrg
f23127ca0a don't call most/all Core2's "(Merom)". 2010-02-16 00:13:14 +00:00
dyoung
07a5af08b1 Get rid of all PCI_CONF_MODE #ifdef'age except for the little bit
that initializes pci_mode, which I have moved to the top.

Make pci_mode private to pci_machdep.c.

Provide pci_mode_set() for pcibios.c to configure the PCI Configuration
Mechanism.  KASSERT() in pci_mode_set() that the mechanism is not
changing from anything but the "don't know" value, -1.
2010-02-16 00:03:47 +00:00
dyoung
515dca997f Get pci_mode out of the global namespace. 2010-02-15 23:55:24 +00:00
dyoung
2e4dbd90d6 Don't use the global variable pci_mode, but use a local copy of
the return value of pci_mode_detect(), instead.
2010-02-15 23:53:07 +00:00
pgoyette
c4b330d512 Document the new {high, maximum}-capacity keywords, and some general
clean-up.
2010-02-15 23:04:11 +00:00
pgoyette
82c7774043 Add cases for new {high,maximum}-capacity events 2010-02-15 22:56:13 +00:00
pgoyette
55a81df24d Update cross-reference to refer to new aibs(4) instead of aiboost(4) 2010-02-15 22:38:28 +00:00
pgoyette
74999bdda4 Update userland envstat(8) to handle new {high,maximum}-capacity limits. 2010-02-15 22:37:14 +00:00
pgoyette
8844275b30 For symmetry, allow warning and critical upper-limits for capacity
sensors.
2010-02-15 22:32:04 +00:00
dyoung
ff79c75809 Extract a subroutine, const char *cfdata_ifattr(cfdata_t cf), that
returns the name of the interface attribute that associates cf with
its parent.  Use cfdata_ifattr() at several sites in the autoconf
code.
2010-02-15 20:20:34 +00:00
mrg
658c47c0f2 - don't flush 32-bit entries for 64-bit code, it does not seem to be
necessary.  #define TLB_FLUSH_LOWVA to turn it back on.
- remove the #if 0'd code in sparc64_ipi_flush_pte_usiii(), i have
  verified that it is not required.
- add a missing membar #Sync to sp_tlb_flush_pte_usiii().
2010-02-15 12:46:24 +00:00
nakayama
c160863387 Fix linker error of GENERIC32 kernel. 2010-02-15 11:46:54 +00:00
mrg
0432f45fd5 use TLB_SIZE_SPITFIRE in a couple of places, and note that the
{print,dump}_[id]tlb() versions are currently spitfire specific.
2010-02-15 09:56:33 +00:00
dholland
62bdde038d typo in comment 2010-02-15 09:39:00 +00:00
mrg
78e651db39 introduce a new patch_kernel() and call it from the end of bootstrap().
use it to patch up TLB flush instructions that don't match for USI/II
and later.  we can also hopefully use this to make GENERIC.MP minimally
expensive on single CPU machines as well.

this is the last piece needed to get GENERIC/GENERIC.MP to boot on the
USIII* machines.

idea and some initial code from openbsd.
2010-02-15 07:56:51 +00:00
skrll
6118df95b4 Typo in comment. 2010-02-15 07:55:33 +00:00
pgoyette
de08bb89f2 Replace large amount of replicated code with a macro to improve readability. 2010-02-14 23:30:52 +00:00
pgoyette
6ac583dc32 Adapt to changes in sysmon's limit structure. 2010-02-14 23:07:59 +00:00
pgoyette
f7613feb09 Adapt to changes in sysmon's limit structure 2010-02-14 23:07:22 +00:00
pgoyette
52af77f5e8 Adapt to changes in sysmon's limit structure. 2010-02-14 23:06:58 +00:00
pgoyette
9150436462 Remove the flags member of the limits structure. Its value was only
meaningful for a few limited function calls;  all persitent storage
of limit-present flags is maintained in the edata->upropset member.
2010-02-14 23:06:01 +00:00
pgoyette
f84d320712 Correct one more instance of checking flags in the wrong place. 2010-02-14 16:22:09 +00:00
drochner
3f900515e4 add missing glue file, otherwise the emulation will not work if
compiled into the kernel (and the module loader will load another
instance, causing symbol duplication)
2010-02-14 11:54:03 +00:00
drochner
ca771c66aa fix confused CS selector, fixes the panic reported by Mark Davis
per PR port-i386/42787 (the panic happens due to a GPF when a
privileged descriptor is tried to be loaded with the UPL bit set)
The original bug is very old (pre-2.0, i386/svr4_machdep.c rev. 1.69),
but it was relatively harmless until the order of GDT entries was
shuffled (pre-5.0, i386/segments.h rev. 1.42). Before, it caused
a userlevel data selector to be used for CS which broke the emulation
(likely the reason of PR port-i386/32424). The shuffle made that
a privileged selector was used, causing the GPF.
(recent -current doesn't panic on that GPF which seems to be a
side effect of another change)
2010-02-14 11:09:54 +00:00
eeh
80ff9af55f Major overhaul:
1) Add support for multiple filesystems including ffsv1, ffsv2, lfsv1 and lfsv2.
(ffsv1 and lfsv2 are known to work.  ffv2 support needs more work.  lfsv1 is
probably untested.)

2) Only 32-bit Fcodes are used.  All 64-bit math uses two cells.  This means it
should work on 32-bit machines.

Additional work to consider:

1) Rename genfth.cf to genffs.cf, or keep it and move the ffs symbols to genffs.cf

2) Move the ffs code and the lfs code to different source files so you can
selectively fload the just the filesystems you want.

3) Add code to load ELF files directly instead of relying on the host firmware
ELF support.  But, since the binary is now 7250 bytes there may not be room.
2010-02-13 23:38:17 +00:00
pooka
7547791dd3 Fix off-by-one (config -x works again) and improve editing artifacts
(actually the whole "config -x must be used alone" change was made
unnecessary along the way.  cest la vie).
2010-02-13 22:57:03 +00:00