Garrett Wollman [Wed, 29 May 2002 16:25:43 +0000 (16:25 +0000)]
Reorganize dlfcn.h slightly to separate out XSI and BSD interfaces.
Add new dlfunc() interface, which is a version of dlsym() with a
return type that can be cast to a function pointer without turning
your computer into a frog.
Jake Burkholder [Wed, 29 May 2002 06:12:13 +0000 (06:12 +0000)]
Add an MD page flag for tracking if a page is cacheable or not, so that
we don't flush all mappings of a physical page in order to make it
virtually cachable again, if it is already cachable.
Jake Burkholder [Wed, 29 May 2002 06:08:45 +0000 (06:08 +0000)]
Merge the code in pv.c into pmap.c directly. Place all page mappings onto
the pv lists in the vm_page, even unmanaged kernel mappings. This is so
that the virtual cachability of these mappings can be tracked when a page
is mapped to more than one virtual address. All virtually cachable
mappings of a physical page must have the same virtual colour, or illegal
alises can be created in the data cache. This is a bit tricky because we
still have to recognize managed and unmanaged mappings, even though they
are all on the pv lists.
Jake Burkholder [Wed, 29 May 2002 05:49:59 +0000 (05:49 +0000)]
Use a contrived 'tlb_entry' structure for passing the mappings for the
kernel text and data from the loader to the kernel, so that the tte format
is not part of the loader->kernel ABI.
Jake Burkholder [Wed, 29 May 2002 05:24:16 +0000 (05:24 +0000)]
Remove pmap.pm_pvlist and make the functions that use it no-ops. These are
all optimizations for architectures which have large sparse page tables,
and/or can't put the pv linkage inside of the page table entries.
Marcel Moolenaar [Wed, 29 May 2002 05:19:07 +0000 (05:19 +0000)]
Remove the definition of struct mca_guid and use the generic
struct uuid defined in <sys/uuid.h>.
Use uuid/UUID instead of guid/GUID to emphasize that the
identifiers are DCE version 1 identifiers and also to avoid
inconsistencies as much a possible.
Mike Pritchard [Wed, 29 May 2002 04:07:49 +0000 (04:07 +0000)]
Remove the share/man/tools directory. Nothing in here works anymore, and
'manck' from ports does just about everything these tools ever did.
(I did have these 90% working about 5 years ago, but manck came along.....)
The only file of interest might be sp.ignore, but it can be pulled
from the attic if anyone has that much interest.
Inspired by: Mark Murray's deletion of share/man/man0
Peter Wemm [Wed, 29 May 2002 03:59:20 +0000 (03:59 +0000)]
Bandaid for helping people who have a broken /usr/bin/c++ installation.
This only affects the -current early adopters and developers who have
done a 'make world' in the last few weeks and as a result installed a
gcc-3.1 version of /usr/bin/c++ but without the corresponding library
support that this now requires. This is a temporary hack that should be
deleted within a few weeks. In this case we will use the existing
gperf/groff one last time around for the early stage1 bootstrap. (This
isn't so bad, because we were unconditionally using the host one before)
Marcel Moolenaar [Wed, 29 May 2002 02:58:41 +0000 (02:58 +0000)]
Add attribute packed to struct gpt_hdr to avoid unwanted padding at
the end of the struct to make it an integral number of "longs" on
64-bit architectures. The size of the struct must be 92, not 96.
Peter Wemm [Wed, 29 May 2002 00:45:51 +0000 (00:45 +0000)]
Add some build glue for libstdc++. I'm not a C++ person, but this seems
to work at least for the non-hairy stuff. The main wrinkle here is that
a whole mess of include files get installed and under different names.
An earlier version of this built a shadow include tree first in the obj
directory, but this depends on the 'make includes' functionality.
Ian Dowse [Tue, 28 May 2002 17:53:52 +0000 (17:53 +0000)]
Remove references to the update/noupdate flag from the description
and examples of the "-s" option, since these two features operate
completely independently of each other.
Benno Rice [Tue, 28 May 2002 12:28:22 +0000 (12:28 +0000)]
Remove an assertion as to whether the current thread already had the FPU or
not. It may be desirable to put something similar back, but it's getting in
the way in it's current form.
Benno Rice [Tue, 28 May 2002 12:24:29 +0000 (12:24 +0000)]
- Move macros that represent where syscall args are kept in a trapframe from
trap.c to frame.h
- Use the macros in vm_machdep.c:cpu_fork() to set up the trap frame of the
new thread.
Marcel Moolenaar [Tue, 28 May 2002 09:04:48 +0000 (09:04 +0000)]
Add support to GEOM for GUID Partition Tables (GPTs). The support
is currently conditional on both the GEOM and GEOM_GPT options to
avoid getting GPT by default and having the MBR and GPT classes
clash.
The correct behaviour of the MBR class would be to back-off (reject)
a MBR if it's a Protective MBR (a MBR with a single partition of type
0xEE that spans the whole disk (as far as the MBR is concerned).
The correct behaviour if the GPT class would be to back-off (reject)
a GPT if there's a MBR that's not a Protective MBR.
At this stage it's inconvenient to destroy a good MBR when working
with GPTs that it's more convenient to have the MBR class back-off
when it detects the GPT signature on disk and have the GPT class
ignore the MBR.
In sys/gpt.h UUIDs (GUIDs) for the following FreeBSD partitions
have been defined:
GPT_ENT_TYPE_FREEBSD
FreeBSD slice with disklabel. This is the equivalent of
the well-known FreeBSD MBR partition type.
GPT_ENT_TYPE_FREEBSD_{SWAP|UFS|UFS2|VINUM}
FreeBSD partitions in the context of disklabel. This is
speculating on the idea to use the GPT to hold partitions
instead if slices and removing the fixed (and low) limits
we have on the number of partitions.
This commit lacks a GPT image for the regression suite.