| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
to build X at -O2 nowadays, as well as an increasing number of ports.
Based upon a diff from Brad, with a few values stripped down to fit within
the sun4/4c virtual address space limitation. Discussed with deraadt@
|
| |
|
|
|
|
|
|
|
| |
MI float.h which pulls in and defines the values that are needed from
there, and repair sys/limits.h so that it defines the values it needs
as well (depending on POSIX version, XPG version, etc). guenther has
a more exact selection of that coming for limits.h.
this also fixes a few mistakes for the vax.
reviewed by kettenis and guenther.
|
| |
|
|
| |
boundary; this makes ddb usable again.
|
| | |
|
| |
|
|
|
| |
the right type, noone will ever fiddle with the internals.
discussed with jsing
|
| |
|
|
| |
ok guenther@
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
for pointing to the thread-control-block. Support for mapping this
to the correct hardware register can be added as it's finished;
start with support for amd64, sparc, and sparc64. Includes syscalls
for getting and setting it (for a portable __errno implementation) as
well as creating a new thread with an initial value for it.
discussed with miod@, kettenis@, deraadt@; committing to get the syscalls
in with the impending libc bump and do further refinements in tree
|
| |
|
|
|
|
|
| |
uint64_t, depending upon the platform; this makes the declaration of these
types consistent accross all our supported platform, and we do not intend
to support a platform where bus_addr_t could be larger than the size of the
cpu register. Requested by deraadt@ during s2k11
|
| |
|
|
|
| |
deraadt@ and jsing@ noticed hppa64 label_t was too short; amazing this did not
get noticed earlier.
|
| |
|
|
|
|
|
|
| |
compat names kept in <machine/param.h>. In <sys/socket.h>, pull
in <sys/_types.h> instead of the namespace polluting <machine/param.h>
and completely eliminate __CMSG_ALIGN, replaced by _ALIGN
ok deraadt@
|
| |
|
|
|
|
|
|
| |
Since the underlying types of the int_fast types are set by machine/_types.h,
put internal macros in that same file and define the exposed
INT_FAST*_{MIN,MAX} macros from those.
ok millert@, kettenis@
|
| |
|
|
| |
ok guenther@
|
| | |
|
| |
|
|
|
|
| |
filled in. Move D_CLONE down to 0x0001 as suggested by thib.
ok deraadt thib
|
| |
|
|
|
|
| |
spinning on a contended lock.
ok kettenis@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new world order of pmemrange makes this data completely redundant
(being dealt with by the pmemrange constraints instead). Remove all code
that messes with the freelist.
While touching every caller of uvm_page_physload() anyway, add the flags
argument to all callers (all but one is 0 and that one already used
PHYSLOAD_DEVICE) and remove the macro magic to allow callers to continue
without it.
Should shrink the code a bit, as well.
matthew@ pointed out some mistakes i'd made.
``freelist death, I like. Ok.' ariane@
`I agree with the general direction, go ahead and i'll fix any fallout
shortly'' miod@ (68k 88k and vax i could not check would build)
|
| |
|
|
|
|
|
| |
Doesn't matter much since C++ ABI used by GCC doesn't mangle variable
names; however technically is required by Section 7.5 of the C++ spec.
Discussed with/OK guenther@, matthew@.
|
| |
|
|
|
|
| |
Enables future uvm_map code to make intelligent decisions.
No functional change.
|
| | |
|
| | |
|
| |
|
|
| |
update the comment block accordingly.
|
| |
|
|
| |
ok matthew@ tedu@, also eyeballed by at least krw@ oga@ kettenis@ jsg@
|
| |
|
|
| |
Discussed and okay drahn@. Okay deraadt@.
|
| |
|
|
| |
Okay guenther@, millert@.
|
| |
|
|
|
|
|
| |
a physical address [more precisely, something suitable to pass to pmap_enter()'sphysical address argument].
This allows MI drivers to implement mmap() routines without having to know
about the pmap_phys_address() implementation and #ifdef obfuscation.
|
| |
|
|
|
|
| |
for it. This makes the netisr a real C function which will help further
development. No noticable performance change on i386 and amd64.
With input from kettenis@ and miod@ additional OKs mikeb@ and henning@
|
| |
|
|
| |
its better as a per arch MD define anyway. all default to MAXDSIZ as before.
|
| |
|
|
|
|
| |
vaddr_t PMAP_PREFER(..., vaddr_t). This allows better compiler optimization
when the function is inlined, and avoids accessing memory on architectures
when we can pass function arguments in registers.
|
| |
|
|
| |
implement them, and they are of questionable usefulness.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
userland traps on a per-process basis, were necessary for *some* SunOS
binaries on sparc, which had to compiled with explicit misaligned access code
generation (i.e. for vendors to release a working SunOS/sparc version of their
code until they could fix their bogus code).
There is no reason to keep this code on sparc64, and now that we don't provide
COMPAT_SUNOS anymore, there is no reason to keep this code on sparc.
ok kettenis@
|
| |
|
|
|
|
| |
done to sparc64 a couple of months ago.
ok miod@
|
| | |
|
| | |
|
| |
|
|
|
|
| |
sun4c, as it has a sun4c OpenPROM but a sun4 8KB pagesize. VME devices are
not supported yet.
ok deraadt@
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
memory, but instead gather memory layout information and work with the MMU
(or the PROM) to make sure we can actually load the kernel image in a proper
contiguous physical memory area.
In order to do this, we look at the kernel image twice; during the first pass,
the kernel footprint is computed, and then after making sure it can be
loaded, the second pass loads the actual image.
Since such a logic doesn't work on media which can not seek backwards, such
as tapes, we check for the boot device being a tape and, in that case, assume
a fixed (generous) image size and don't load the kernel symbol table (to
avoid seeking backwards); since tape boot is supposed to be only used to
boot bsd.rd, this is something we can live with.
While there, lower the address the boot blocks are loaded in memory, because
the last crank did not work with some early sun4c OpenPROM, which only
map about 3.5MB of memory.
Memory games logic from NetBSD, tape handling by me.
|
| |
|
|
|
|
|
| |
low physical memory, but instead figure out where it has been loaded from
the current MMU setup.
From NetBSD.
|
| |
|
|
|
| |
space on SRMMU systems (i.e. sun4m), so don't do it anymore and update
misleading comments.
|
| |
|
|
|
| |
doing thread-local storage and fix a typo in one that was already defined.
ok kettenis@ drahn@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
which contains the constraints for DMA/memory allocation for each
architecture, and dma_constraints which contains the range of addresses
that are dma accessable by the system.
This is based on ariane@'s physcontig diff, with lots of bugfixes and
additions the following additions by my self:
Introduce a new function pool_set_constraints() which sets the address
range for which we allocate pages for the pool from, this is now used
for the mbuf/mbuf cluster pools to keep them dma accessible.
The !direct archs no longer stuff pages into the kernel object in
uvm_km_getpage_pla but rather do a pmap_extract() in uvm_km_putpages.
Tested heavily by my self on i386, amd64 and sparc64. Some tests on
alpha and SGI.
"commit it" beck, art, oga, deraadt
"i like the diff" deraadt
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
recommit pmemrange:
physmem allocator: change the view of free memory from single
free pages to free ranges. Classify memory based on region with
associated use-counter (which is used to construct a priority
list of where to allocate memory).
Based on code from tedu@, help from many.
Useable now that bugs have been found and fixed in most architecture's
pmap.c
ok by everyone who has done a pmap or uvm commit in the last year.
|
| |
|
|
|
| |
like it is everything.h
ok tedu
|
| | |
|
| |
|
|
|
|
|
|
|
| |
rather than defining it separately for each architecture.
Also set it to 4, to accommodate for future UTF-8 support (rfc3629).
Diff by stsp, committing to catch the libc major bump
ok kettenis@, guenther@
|
| |
|
|
| |
ok jsing@, miod@
|