Commit Graph

162 Commits

Author SHA1 Message Date
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
yamt
bc21da4cfb bus_dmamem_map: honour BUS_DMA_NOWAIT. noted by Manuel Bouyer.
bus_space_map: always do NOWAIT allocation as it used to be before yamt-km.

we have too many copies!
2005-11-24 13:08:32 +00:00
drochner
44bf0a7ee2 s/locdesc_t/int/g 2005-08-26 13:19:34 +00:00
skrll
40f827d8b1 Don't make symlinks when doing obj, clean, or cleandir targets. 2005-08-05 09:16:54 +00:00
drochner
996c273eda adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes 2005-06-30 17:03:51 +00:00
junyoung
17670568fe Use FS_OPS() macro. 2005-06-23 19:44:00 +00:00
thorpej
15adcb96b8 Move common Sun ID PROM definitions into <dev/sun/idprom.h>. 2005-06-19 20:00:28 +00:00
tsutsui
6df30aa4a7 Add const. 2005-06-03 22:02:30 +00:00
tsutsui
77ba4e3671 Add const. 2005-06-03 21:57:16 +00:00
jmc
394eb3a175 Don't need realall/realdepend now that .BEGIN works 2005-05-12 02:56:59 +00:00
yamt
6b2d8b66a4 merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
  save some resources like pv_entry.  also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
2005-04-01 11:59:21 +00:00
matt
a6db24a485 Add a dm_maxsegsz public member to bus_dmamap_t. This allows a user of the API
to select the maximum segment size for each bus_dmamap_load (up to the maxsegsz
supplied to bus_dmamap_create).  dm_maxsegsz is reset to the value supplied to
bus_dmamap_create when the dmamap is unloaded.
2005-03-09 19:04:43 +00:00
he
0429525c8e The ANSIfication apparently revealed a use of netif_attach() with a
missing argument.  (It doesn't appear to be used, though, so this should
be a functional NOOP, except for fixing the build problem.)
2005-01-26 20:34:50 +00:00
he
6012a9f72d Make forward declaration and actual function definitions consistent.
Some of the functions changed signature in the previous commit.
2005-01-26 20:32:27 +00:00
chs
fa924b7be7 move spl*() and IPL_* definitions from psl.h to intr.h. 2005-01-23 17:27:03 +00:00
chs
10b1a7be5e de-__P, remove register, ansify, b* -> mem*, u_int*_t -> uint*_t. 2005-01-22 15:36:09 +00:00
chs
267af995b7 use the generated macros in locators.h rather than hard-coded numbers
to index the cf_loc[] array.  reviewed by allen briggs.
2004-12-14 02:32:02 +00:00
chs
0ded74691b for drivers that support only one instance, use a global variable to ensure
that only one instance is configured rather than requiring that its
unit number be zero.
2004-12-13 02:14:13 +00:00
yamt
d2fe4b34bb move some per-cpu data definitions to MI place so that they can be modified
without touching all ports.  discussed on tech-kern@.
2004-09-22 11:32:02 +00:00
jdolecek
089abdad44 Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread
2004-01-04 11:33:29 +00:00
agc
7db1d33cba Modify the licences of code written by Theo De Raadt from a 4-clause
to a 2-clause licence (retaining UCB clauses (1) and (2)), per PR
22409 from Joel Baker, approved by Theo de Raadt, and ratified by
myself - the only discrepancy being the handling of the original
clause 3 in src/usr.sbin/yppoll/yppoll.c.
2003-12-10 12:06:25 +00:00
tsutsui
375036d6b3 Specify 32bit daddr_t not only for ufsboot but also libsa and all SA_PROGs.
Now bootxx and ufsboot works again.
2003-11-30 05:32:39 +00:00
chs
d9fc04266e fix parallel build. 2003-11-02 16:01:16 +00:00
chs
79f70b37d7 find libsa files. 2003-11-02 16:00:54 +00:00
mrg
f06db78213 NULL -> 0 bogon. 2003-10-28 08:00:36 +00:00
lukem
f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
cl
4169237230 SA_SIGINFO support for m68k (port specific changes) 2003-09-22 14:26:57 +00:00
cl
cebad0b338 make compile 2003-09-21 14:41:33 +00:00
dsl
f3404c9f63 Fix same breakage as previous (need memmove for symlink handling in ufs.c)
but use (probably) smaller footprint code from libsa.
2003-08-22 21:14:35 +00:00
he
241ad00001 Adapt to const'ing of the first argument of the open function in fs_ops. 2003-08-21 22:34:48 +00:00
he
395b0c6682 Now that ufsboot / ufs.c uses memmove(), we need to include it here. 2003-08-21 13:12:32 +00:00
agc
aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
fredette
c7f2e26f8b Bumped the version number to account for fixes in tapeboot. 2003-08-05 19:14:56 +00:00
fredette
100e6f3698 Added seek support for tape files. Before, seeking a tape file
would silently fail, causing loadfile to load file contents into
the wrong addresses.

On the sun3/sun3x, MARK_START was incorrectly set too.  Also
added support for booting a sun2.
2003-08-05 19:10:26 +00:00
mrg
7f6765697c need -ffreestanding 2003-07-27 05:04:43 +00:00
lukem
ed51729135 __KERNEL_RCSID() 2003-07-15 02:54:31 +00:00
fvdl
7dd7f8baa2 Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
2003-06-15 23:08:53 +00:00
thorpej
e43fecb228 Change bounds_check_with_label() to take a pointer to the disk structure,
rather than the label itself.  This paves the way for some future changes.
2003-05-10 23:12:28 +00:00
wiz
1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
dsl
d91455ce26 Change return type of readdisklabel() to const char *
I hope I've found all the correct places!
2003-05-02 08:45:10 +00:00
thorpej
3b9d583516 Use PAGE_SIZE rather than NBPG. 2003-04-01 15:23:07 +00:00
kristerw
6a6ff92fd5 Revert last change (dependance on divdi3.c, moddi3.c, and qdivrem.c) and
use 32bit daddr_t instead, as suggested by Izumi Tsutsui.
2003-03-30 00:17:28 +00:00
kristerw
3735c66934 Add snprintf, divdi3, moddi3, and qdivrem so that ufsboot builds. 2003-03-16 01:29:04 +00:00
kent
cd7d9faeaf Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it. 2003-01-28 01:07:51 +00:00
thorpej
d2275d51e1 Merge the nathanw_sa branch. 2003-01-18 06:55:21 +00:00
wiz
7e681f7063 interrupt with two rs. 2003-01-06 13:04:54 +00:00
thorpej
9c1214153c Use aprint_normal() for cfprint routines. 2003-01-01 02:20:47 +00:00
lukem
0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
chs
db6b326aab merge all the m68k copies of kgdb_machdep.c. 2002-11-03 01:11:58 +00:00
chs
1c2419d28a merge the 12 copies of vm_machdep.c on the m68k platforms.
clean up some other stuff along the way, including:
 - use m68k/cacheops.*, remove duplicates from cpu.h.
 - centralize a few declarations in (all the copies of) cpu.h.
 - define M68K_VAC on platforms which have a VAC.
 - switch the sun platforms to the (now common) proc_trampoline().
 - do the phys_map thang on the sun platforms too, no reason not to.
2002-10-20 02:37:21 +00:00
thorpej
4bf871a755 Add trailing ; to CFATTACH_DECL. 2002-10-02 16:02:08 +00:00
thorpej
fa165ee3fd Use CFATTACH_DECL(). 2002-10-01 05:18:59 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos
0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
thorpej
6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej
d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
thorpej
71404bb533 Don't include <sys/map.h>. 2002-09-25 22:21:01 +00:00
fredette
51c7735d8a Compile all standalones for the 68010, which makes bootblocks
compiled for the sun3 also usable on a sun2.  This enables
making a single filesystem that can boot on all of sun2, sun3,
and sun3x (say, like on a CD-ROM).
2002-06-17 13:35:04 +00:00
fredette
bcd8676e8a Reverted previous commit. It was meant to fix a problem that
was already fixed by nathanw, had I bothered to check.
2002-06-03 00:56:55 +00:00
fredette
e0b7d8c222 Now make a machine/ directory with symlinks to a small number
of machine-specific headers.  When ${MACHINE} is sun2, this
allows building the sun3 and sun3x parts of libsa, which need
things like <machine/param3.h> and <machine/param3x.h> to be
#includeable.
2002-06-03 00:29:04 +00:00
fredette
180293c7b7 exit() is now declared in libsa's stand.h, and takes an int. 2002-06-03 00:18:26 +00:00
drochner
d2b9876081 move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
2002-06-02 14:44:35 +00:00
nathanw
343166210e Always build the m68000 math routines, since we compile libsa in m68000 mode. 2002-05-30 22:33:12 +00:00
nathanw
88591a36d8 #include <arch/sun3/include/param.h>, not param3x.h, so that we get
appropriate multiple-inclusion protection. The #define _SUN3X_ ensures
that param3x.h is included by param.h.
2002-05-30 22:31:57 +00:00
lukem
adc470b96d only include scsi support if NSCSIBUS > 0
fixes sun2 (and probably sun3) DISKLESS kernel build
2002-05-24 09:51:07 +00:00
nathanw
eb5a18d259 Deliberately #include the appropriate arch-specific param.h to get
the correct value for NBSG, even when building with a different sun68k
target.
2002-05-23 03:50:37 +00:00
thorpej
4daab7072a Don't access a scsipi channel's periph table directly; use
scsipi_lookup_periph().
2002-05-16 02:50:53 +00:00
lukem
966b42a3e6 bootblock.h:
- unify sparc_bbinfo (1064 bytes, with 256 block entries)
  and sun68k_bbinfo (296 byte, with 64 block entries)
  into shared_bbinfo (512 bytes, with 118 block entries),
  which will be also shared by future bbinfo-using platforms
  (including macppc)
- add datestamp to *_BBINFO_MAGIC strings, to prevent installboot vs
  bootxx version skew.
- add macppc support

*/bootxx.c:
- migrate to new shared_bbinfo structure

installboot:
- add macppc support (still needs applepartmap support and testing)
- improve and add some more warnings & errors to installboot
- implement shared_bbinfo_clearboot() and shared_bbinfo_setboot(), which
  perform the majority of the work for bbinfo-using back-ends
  (rather than replicating that across multiple back-ends).
2002-05-15 09:44:54 +00:00
lukem
86671d3350 - implement putstr(), and use in various places instead of printf()
- wrap more debug stuff in #ifdef DEBUG
- for bootxx, provide minimal panic() which uses putstr() instead of printf()

bootxx is now < 7.5KB
2002-05-15 04:07:41 +00:00
lukem
b26614a4af s,<dev/sun/sun_boot.h>,<sys/bootblock.h>, 2002-05-06 13:35:17 +00:00
lukem
e27890b7d9 fix previous more correctly; MAXBLOCKNUM was replaced by SUN68K_BBINFO_MAXBLOCKS 2002-05-06 01:25:11 +00:00
jdolecek
db6fc29f1c avoid unnecessary use of MAXBLOCKNUM (which is not defined here) 2002-05-05 16:02:24 +00:00
lukem
86caccc77b convert from "bbinfo.h" to <dev/sun/sun_boot.h> 2002-04-24 01:40:25 +00:00
fredette
5c3869c64c Removed the old installboot, we now use the new /usr/sbin/installboot.
Now install a raw binary version of bootxx, since that's what this
new installboot expects.
2002-04-22 21:15:40 +00:00
fredette
3b190a12d6 To make things build correctly, rely totally .PATH and never
have source files be explicit paths.
2002-04-22 21:13:34 +00:00
fredette
0fe578ec56 On the m68000, instead of extracting integer support from
libgcc, use bits from sys/lib/libkern.
2002-03-26 23:19:31 +00:00
fredette
72eb42a61e Added files.c to SRC_sa. 2002-03-22 00:30:06 +00:00
wiz
37e458fa45 strategy should have an 'r'. Inspired by similar change in OpenBSD. 2002-02-19 17:09:40 +00:00
lukem
971861de37 use ${INSTALL_FILE} as appropriate 2002-02-09 09:35:59 +00:00
thorpej
1f4b5fa06c Descend into include. 2002-01-29 01:13:18 +00:00
fredette
f838750c17 Fixed a bug where we would always byteswap things,
even on a big-endian machine.
2001-12-17 21:55:13 +00:00
fredette
d3a28a576e Rather than using nlist(3), use a magic structure with a magic
number that installboot(8) can search for.  Suggested by cgd@netbsd.org.
2001-12-15 23:09:50 +00:00
fredette
c9e7d7b7ba On the sun2, added support for loading larger kernels,
and pull objects from the libgcc in DESTDIR.
2001-12-15 23:02:34 +00:00
fredette
175ee0ab88 Fixed a bug where we weren't checking for required or
forbidden locators correctly, especially physical addresses.
2001-12-15 22:39:17 +00:00
lukem
b0b0a32ad7 Set NOxxx= before <bsd.own.mk> is pulled in (even indirectly).
Otherwise the appropriate MKxxx=no won't be defined .
2001-12-12 12:24:19 +00:00
tv
8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
fredette
a9847551d5 vm_offset_t -> paddr_t
Implement bus_space_mmap.
2001-11-30 17:49:10 +00:00
fredette
450c4305c1 vm_offset_t -> vaddr_t
Removed register qualifiers.
2001-11-30 17:47:04 +00:00
fredette
66e0981854 Make sure that an unlabeled device gets at least RAW_PART
in the default in-core disklabel, instead of only a single
partition, so that applying a new disklabel can work normally.
bcopy() -> memcpy(), bzero() -> memset()
2001-11-30 16:11:10 +00:00
fredette
da1e437744 Implement bus_space_mmap. 2001-11-30 16:04:25 +00:00
fredette
47884ee136 vm_offset_t -> vaddr_t 2001-11-30 16:00:27 +00:00
fredette
3de224080a trap1 also needs to be handled under COMPAT_SUNOS. 2001-11-26 18:08:37 +00:00
tv
48c09b6243 Work around <bsd.lib.mk> used for kernel libs in other places. Clean up
include paths.
2001-11-14 23:01:13 +00:00
scw
45e7238a02 Bump the version numbers of all bootloaders which use loadfile_elfXX() now
that it tries hard to avoid backwards seeks.
2001-11-09 19:53:11 +00:00
thorpej
66f972ab70 Need byteorder.c for loadfile_elf*.c 2001-10-31 21:39:02 +00:00
thorpej
e727e3f180 Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly.  BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
2001-10-31 17:20:45 +00:00
thorpej
4810d73020 Build the loadfile() a.out, ECOFF, and ELF back-ends as separate
objects.
2001-10-31 01:51:42 +00:00
chs
7491bc8eea add ashldi3.c, needed by ufs.c due to added cast in lblktosize(). 2001-10-02 06:30:03 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
fredette
1676190cef adjust the hack to build the SRT*.o files. 2001-08-27 13:07:03 +00:00