Commit Graph

161882 Commits

Author SHA1 Message Date
Juli Mallett
dea2d4206e o) Properly size caches and TLB on Octeon.
o) Make COP0_SYNC do nothing on Octeon, which is fully interlocked.

Submitted by:	Bhanu Prakash (with modifications)
2011-03-16 08:22:29 +00:00
Marcel Moolenaar
18d9407a9f MFaltix:
Add support for Pre-Boot Virtual Memory (PBVM) to the loader.

PBVM allows us to link the kernel at a fixed virtual address without
having to make any assumptions about the physical memory layout. On
the SGI Altix 350 for example, there's no usuable physical memory
below 192GB. Also, the PBVM allows us to control better where we're
going to physically load the kernel and its modules so that we can
make sure we load the kernel in memory that's close to the BSP.

The PBVM is managed by a simple page table. The minimum size of the
page table is 4KB (EFI page size) and the maximum is currently set
to 1MB. A page in the PBVM is 64KB, as that's the maximum alignment
one can specify in a linker script. The bottom line is that PBVM is
between 64KB and 8GB in size.

The loader maps the PBVM page table at a fixed virtual address and
using a single translations. The PBVM itself is also mapped using a
single translation for a maximum of 32MB.

While here, increase the heap in the EFI loader from 512KB to 2MB
and set the stage for supporting relocatable modules.
2011-03-16 03:53:18 +00:00
Edwin Groothuis
b6ef626a6c MFV of r219685, tzdata2011d
- Pacific/Apia will have DST on 2 April instead of 3 April in 2011.
- Turkye will go to DST on 28 April instead of 27 April in 2011.
- Cuba will go to DST on 20 April in 2011.

Obtained from:  ftp://elsie.nci.nih.gov/pub/
2011-03-16 03:28:42 +00:00
Edwin Groothuis
53e3683ae1 Vendor import of tzdata2011d:
- Pacific/Apia will have DST on 2 April instead of 3 April in 2011.
- Turkye will go to DST on 28 April instead of 27 April in 2011.
- Cuba will go to DST on 20 April in 2011.

Obtained from:	ftp://elsie.nci.nih.gov/pub/
2011-03-16 03:07:08 +00:00
Marcel Moolenaar
e4623c22fe Fix mv_gpio_in() for pin numbers that occupy bits 8-31 in GPIO registers.
The compiler will truncate the 32-bit return value of mv_gpio_value_get()
to match the 8-bit return value of mv_gpio_in(). A conditional expression
is used to have mv_gpio_in() always return 0 or 1 instead.
2011-03-16 00:42:15 +00:00
Marcel Moolenaar
e681e3cd56 Revert previous commit: EFI_STATUS is a 64-bit integral on ia64. Fix the
compile warning on i386 (where EFI_STATUS is a 32-bit integral) by casting
the status argument to u_long instead.

Pointy hat: brucec
MFC after: 3 days
2011-03-16 00:08:10 +00:00
Jilles Tjoelker
dd888c677b rfork(2): Discourage rfork_thread-like approaches.
Calling rfork_thread(3) does not interoperate with pthreads and global state
is not properly protected.

Remove the BUGS section suggesting LinuxThreads entirely. With the current
pthread library libthr, all threads are kernel-level entities so there seems
little reason to use LinuxThreads.
2011-03-15 23:51:47 +00:00
Marcel Moolenaar
155438b4bd Merge svn+ssh://svn.freebsd.org/base/head@219680 2011-03-15 23:28:15 +00:00
Jilles Tjoelker
0cf90cd1d3 bin: Prefer strrchr() to rindex().
This removes the last index/rindex usage from /bin.
2011-03-15 22:22:11 +00:00
Jung-uk Kim
1f5cdd5a99 Partially revert r219672. After r198295, kernel need to seed randomness as
soon as possible for stack protector.  However, dummy timecounter does not
have enough entropy and we don't need to sacrifice Pentium class and later.

Pointed out by:	Maxim Dounin (mdounin at mdounin dot ru)
2011-03-15 21:45:10 +00:00
Jung-uk Kim
a8f8643e3a Do not let machdep.tsc_freq modify tsc_freq itself. It is bad for i386 as
it does not operate atomically.  Actually, it serves no purpose.

Noticed by:	bde
2011-03-15 19:47:20 +00:00
Jung-uk Kim
b2b9331c44 Remove tsc_present from this file, really. 2011-03-15 18:09:29 +00:00
Jung-uk Kim
c26c38740d Fix a typo in the previous commit. AMD64 and Intel 64 are two brand names. 2011-03-15 17:59:30 +00:00
Jung-uk Kim
38b8542ca9 Deprecate tsc_present as the last of its real consumers finally disappeared. 2011-03-15 17:19:52 +00:00
Jung-uk Kim
d8ea2a492e Unconditionally use binuptime(9) for get_cyclecount(9) on i386. Since this
function is almost exclusively used for random harvesting, there is no need
for micro-optimization.  Adjust the manual page accordingly.
2011-03-15 17:14:26 +00:00
Marcel Moolenaar
23ca55ccf8 Reserve 24KB for the static kernel stack. We use this stack to call into
the firmware for physical mode calls and the Altix doesn't work when it's
16KB.
2011-03-15 16:50:17 +00:00
Pawel Jakub Dawidek
35daccccce Remove #include needed for debugging.
MFC after:	1 week
2011-03-15 13:53:39 +00:00
Alexander Leidinger
0d7b5e545c Staticize functions which are not used somewhere else, move the
corresponding prototypes from the header to the code file.
2011-03-15 13:40:47 +00:00
Nathan Whitehorn
5890a472fc Turn on softupdates by default. We need a UI to set filesystem parameters. 2011-03-15 13:27:34 +00:00
Dag-Erling Smørgrav
6fe126c1a9 Forgot to commit this change along with r219563: pam_group(8) now issues
a warning if neither luser nor ruser is specified.  The correct option
for su(1) is ruser.

MFC after:	1 month
2011-03-15 10:13:35 +00:00
Marcel Moolenaar
2133803023 Re-order the TRs so that there're less gaps. This could have a performance
impact.
2011-03-15 06:07:02 +00:00
Marcel Moolenaar
ebad0c04a2 Round the size, not the top address. This makes the code less
sensitive to compiler bugs (32-bit truncation).
2011-03-15 06:04:13 +00:00
David Christensen
ee50cfe1f1 - Inadvertently committed files with +x attribute, fixed.
- Minor change to info output string.
2011-03-15 01:06:27 +00:00
Marcel Moolenaar
6f181a80f8 Don't define IA64_PBVM_PAGE_SIZE as 1U shifted to the left by some amount.
The compiler seems to assume it's a 32-bit integral and rounding to the
page size using the standard expression (((u_long)(x) + mask) & ~mask),
results in a 32-bit value. Dropping the 'U' suffix is enough to have the
compiler treat the expression as a 64-bit integral.
2011-03-14 23:49:41 +00:00
Jung-uk Kim
eb14346a8e Make get_cyclecount(9) little bit more useful where binuptime(9) is used. 2011-03-14 23:30:14 +00:00
David Christensen
dd46ab31de - Initial release of bxe(4) to support Broadcom NetXtreme II 10GbE.
(BCM57710, BCM57711, BCM57711E)

MFC after:	One month
2011-03-14 22:42:41 +00:00
Jung-uk Kim
856e88c1f5 When TSC is unavailable, broken or disabled and the current timecounter has
better quality than i8254 timer, use it for DELAY(9).
2011-03-14 22:05:59 +00:00
Nathan Whitehorn
12ad0bb143 Thanks to sysinstall for its 15 years of service. And now to sleep,
perchance to dream...
2011-03-14 13:47:17 +00:00
Martin Matuska
432edffe38 Add ssse3 capability for CPUTYPE=core2 to MACHINE_CPU in bsd.cpu.mk
MFC after:	2 weeks
2011-03-14 13:36:51 +00:00
Martin Matuska
c031e7949e Backport SSSE3 instruction set support to base gcc.
Enabled by default for -march=core2

Obtained from:	gcc 4.3 (rev. 117958, 121687, 121726, 123639; GPLv2)
MFC after:	2 weeks
2011-03-14 13:31:34 +00:00
Dmitry Chagin
28e5e0bf4c Add my birthday to the freebsd calendar. 2011-03-14 13:02:12 +00:00
Pawel Jakub Dawidek
d7d23301ae Fix potential panic in dbuf_sync_list() relate to spill blocks handling.
Obtained from:	IllumOS
MFC after:	1 month
2011-03-14 11:07:12 +00:00
Marcel Moolenaar
c94018bcd8 o Deal with unmapped PBVM in the alternate instruction and data TLB fault
handlers.
o   Put the IVT in its own section and keep the supporting code close.
o   Make sure the VHPT is sized so that it can be mapped using a single
    translation.
o   Map the PAL code and VHPT with a translation that has the right size.
    Assume the platform has a PAL code size that can be mapped with a
    single translations.
o   Pass the pointer to the bootinfo structure as an argument to ia64_init().
o   Get rid of LOG2_ID_PAGE_SIZE and IA64_ID_PAGE_SIZE. It was used to map
    the regions 6 & 7 and was as large as possible. The problem is that we
    can't support memory attributes easily if the granuratity is not a page.
    We need to support memory attributes because the new USB stack violates
    the BUS_DMA(9) interface.
o   Update some comments...

NOTE:	this is broken for SMP kernels, because the AP startup code hasn't
	been updated yet.
2011-03-14 05:29:45 +00:00
Marcel Moolenaar
5feac8d228 Expose the PBVM constants to assembly. 2011-03-14 05:18:27 +00:00
Marcel Moolenaar
f195d1e30c Move the actual code to the front of the segment and make sure the IVT
can be put right at the front when put in its own section. This makes
sure that when the loader can only map a relatively small part of the
PBVM, the IVT and the startup code is wired.
2011-03-14 05:16:12 +00:00
Marcel Moolenaar
69be896a5e Change the sz argumnt to mmu_wire() from u_int to vm_size_t. It's a
size in bytes...
2011-03-14 05:13:52 +00:00
Adrian Chadd
79e8a562ac Fix typo that snuck in. 2011-03-14 02:32:10 +00:00
Adrian Chadd
df20f67447 Bring over the AR9285 board update code from ath9k.
This does a few things in particular:

* Abstracts out the gain control settings into a separate function;
* Configure antenna diversity, LNA and antenna gain parameters;
* Configure ob/db entries - the later v4k EEPROM modal revisions have
  multiple OB/DB parameters which are used for some form of
  calibration. Although the radio does have defaults for each,
  the EEPROM can override them.

This resolves the AR2427 related issues I've been seeing and makes
it stable at all 11g rates for both TX and RX.
2011-03-14 00:42:48 +00:00
Marcel Moolenaar
72e1680189 o Make sure the page table has a size that is mappable. Certain page
sizes are not supported.
o   Map the PBVM page table.
o   Map the PBVM using the largest possible power of 2 that is less than
    the amount of PBVM used and round down to a valid page size. Note
    that the current kernel is between 8MB and 16MB in size, which would
    mean that 8MB would be the typical size of the mapping, if only 8MB
    wasn't an invalid page size. In practice, we end up mapping the first
    4MB of PBVM in most cases.
2011-03-13 22:04:19 +00:00
Nathan Whitehorn
f4338dac9f Don't sleep while setting the clock. This can cause panics when
periodic_resettodr() calls CLOCK_SETTIME() and smu tries to sleep while
running from a callout.

Reported by:	Torfinn Ingolfsen
2011-03-13 21:23:25 +00:00
Jilles Tjoelker
35c641ed21 sh: Fix some parameter expansion variants ${#...}.
These already worked: $# ${#} ${##} ${#-} ${#?}
These now work as well: ${#+word} ${#-word} ${##word} ${#%word}

There is an ambiguity in the standard with ${#?}: it could be the length of
$? or it could be $# giving an error in the (impossible) case that it is not
set. We continue to use the former interpretation as it seems more useful.
2011-03-13 20:02:39 +00:00
Pawel Jakub Dawidek
fb7db28c25 POSIX accepts only ELOOP if O_NOFOLLOW is specified and target is a symlink. 2011-03-13 19:35:13 +00:00
Mikolaj Golub
e7272ff323 In command line options allow size to be specified using k/M/G/T
suffixes.

Approved by:	pjd (mentor)
MFC after:	1 week
2011-03-13 19:23:32 +00:00
Nathan Whitehorn
896a9484cb Rewind manifest file in case distributions are in a different order there. 2011-03-13 18:26:16 +00:00
Nathan Whitehorn
46cc2c0240 Use the manifest file count, if available, to determine the number of files
in the archive instead of spinning through it to get a file count for the
progress bar. This speeds up installation a lot on systems with slow
CD drives.
2011-03-13 18:23:47 +00:00
Nathan Whitehorn
3fc77bec6b Fix some typos due to unremoved commented-out lines. A great big pointy
hat goes to me for this one.
2011-03-13 18:02:28 +00:00
Nathan Whitehorn
b70047d413 Add generation of an installation manifest containing SHA256 checksums as
well as package descriptions and add code in the installer to check the
checksums.
2011-03-13 17:15:31 +00:00
Pawel Pekala
47dfe02052 add myself
Approved by:     miwi (mentor)
2011-03-13 17:03:19 +00:00
Rebecca Cran
e17c4d4eb8 Fix typo. 2011-03-13 16:47:21 +00:00
Doug Barton
a3b50b5603 Revert r219578 2011-03-13 16:27:36 +00:00