Commit Graph

21298 Commits

Author SHA1 Message Date
kleink e34b0a84a9 Move some permission-checking code for file owner/group changes up to
vfs_syscalls.c::change_owner().  Also, always update the inode's change time
if the operation succeeds.
1998-02-14 19:56:30 +00:00
kleink 3ef309317a * Factor out some permission-checking code from ufs_setattr() into
change_owner().
* Change the semantics of chown(), fchown() and lchown(): when requesting a
  change of the owner of a file, clear the set-user-id bit; analogous behaviour
  for group changes.
* Since the above is a violation of the semantics specified by POSIX and
  X/Open, add corresponding compatibility syscalls: __posix_chown(),
  __posix_fchown(), __posix_lchown().  (Neither fchown() nor lchown() is
  specified by POSIX; the prefix is intended to reflect the semantics.)
* Rename posix_rename() to __posix_rename() to follow the above convention.
1998-02-14 19:49:43 +00:00
kleink 59fe905973 Fix variable declarations: register -> register int. 1998-02-14 19:34:12 +00:00
pk 0fc808b760 Think-o in pmap_extract4m(), detected by UVM. 1998-02-14 09:28:52 +00:00
cgd 1584dc4420 The pmap_emulate_reference warning about the page not being managed should
be a panic instead.  If it's hit, "random" memory is going to be corrupted.
1998-02-14 02:04:05 +00:00
thorpej 5f8168f660 Use the sesssion's stored SID in getsid(). 1998-02-14 01:33:18 +00:00
thorpej 8efb4289b4 syscalls.master changed; regen. 1998-02-14 01:30:20 +00:00
thorpej 44102031da We now have a native getsid(2), so there's no need to implement it here;
just use sys_getsid().
1998-02-14 01:29:43 +00:00
thorpej 821a4fec46 Add a comment clearly describing that Linux's getsid(2) differs from
the XPG4.2 definition in that it returns the kernel virtual address
of the session structure, rather than the process group ID of the
session leader.
1998-02-14 01:28:15 +00:00
thorpej c1538fb038 Implement TIOCGSID. 1998-02-14 01:26:50 +00:00
thorpej 5a39799ea4 Prototype tcgetsid(3), per XPG4.2. 1998-02-14 01:25:21 +00:00
cgd 1538076f47 fix pasto in last (sigh) 1998-02-14 01:18:46 +00:00
thorpej 50c9f48319 Implement getsid(2), as defined by XPG4.2: returns the process group ID
of the session leader of the specified process's session.
1998-02-14 01:17:51 +00:00
cgd ab67040f58 fix for (harmless) bogon introduced in last commit 1998-02-14 01:17:19 +00:00
cgd e719e8f703 adjust kernel core dump code for changes in kcore.h, also clean up
slightly.
1998-02-14 00:53:26 +00:00
thorpej 6da644fd03 Regen: syscalls.master changes (getsid(2)) 1998-02-14 00:40:45 +00:00
thorpej da187f7f6d Reserve syscalls 283, 284, and 285 for 3 up-coming POSIX systems calls,
per kleink.  Add XPG4.2's getsid(2) at #286.
1998-02-14 00:39:33 +00:00
thorpej d2924ae854 Prevent the session ID from disappearing if the session leader exits
(thus causing s_leader to become NULL) by storing the session ID separately
in the session structure.  Export the session ID to userspace in the
eproc structure.

Submitted by Tom Proett <proett@nas.nasa.gov>.
1998-02-14 00:37:26 +00:00
cgd 69d88fbfd6 replace the single phys_ram_seg_t with a count. an array of segment
descriptors will be placed after this structure in the core file.
1998-02-14 00:17:57 +00:00
thorpej 357829d876 Move TIOCGSID to <sys/ttycom.h> 1998-02-13 23:14:52 +00:00
thorpej 018aa6e97e Don't include <dev/scsipi/scsipi_conf.h> twice. 1998-02-13 21:58:40 +00:00
kleink af9cc34b3c Add ONOCR and ONLRET output modes, from XPG4.2. 1998-02-13 21:53:44 +00:00
kleink 28ca708b8d Reorganize namespace protection, and add ONOCR and ONLRET modes from XPG4.2. 1998-02-13 21:43:45 +00:00
tls c9934a9084 Change list of interface IP addresses to a hash. Improves performance on hosts with a large number of IP addresses significantly. 1998-02-13 18:21:38 +00:00
tls 561bc2f4ad Remove rounding-down of hash size in hashinit(); support non &hashmask hash functions such as % [prime number] without bletcherous hacks. 1998-02-13 17:36:41 +00:00
kleink a8bd1c7e84 Fix variable declarations: register -> register int. 1998-02-13 10:23:49 +00:00
enami d0ad49a001 Backout previous change, and rather, remove all protection but the one
actually currently required.  Suggested by Charles M. Hannum.
1998-02-13 08:28:16 +00:00
enami dea45865d2 Don't include <dev/scsipi/scsi_all.h> twice. 1998-02-13 08:12:40 +00:00
scottr f49dd3ef30 Avoid declaring the "astpending" and "want_resched" globals in cpu.h,
as this breaks C++ code that happens to indirectly include this header.
Both Matthias Scheler and I noticed this, independently.

This problem notably does not affect the atari and sun3/sun3x ports,
which have already implemented a similar solution.
1998-02-13 07:41:45 +00:00
scottr a3675acf9f Make space for want_resched here, like most of the other m68k-based ports. 1998-02-13 07:39:02 +00:00
thorpej 550678e57f Oops, fix a typo. 1998-02-13 05:34:30 +00:00
thorpej e6c31d3db7 KNF. 1998-02-13 05:33:55 +00:00
thorpej 872181c2f2 A few changes to make it possible to read UVM histories from userland:
- Protect option headers from inclusion if ! _KERNEL or if _LKM.
- Make sure struct uvm_history is always the same size (not dependent
  on NCPU).
- Add fmtlen and fnlen members to struct uvm_history_ent, which specify
  the lengths fo the fmt and fn strings.
- Add name, namelen, and a list entry to struct uvm_history.
- When a history is initialized, place it on the global list of all histories.
1998-02-13 04:55:14 +00:00
thorpej cb5f8ef1df Add a global list of all UVM histories. 1998-02-13 04:52:00 +00:00
enami ae193ba149 Move entry for IO-DATA PCLA/T out from comment. Since there may be
two different location for MAC address, just make bus-independent
layer to ask it.
1998-02-13 04:51:22 +00:00
enami 2c12105cda Remove comment which says that fxp is untested (it is known to work now).
Also, make model name closer to what driver prints startup.
1998-02-13 04:33:30 +00:00
enami ef09ae656f Fix or add protection for mutiple inclusion. 1998-02-13 04:19:13 +00:00
mrg 7d9acb9bb6 add a commented out PMAP_NEW. 1998-02-13 04:12:33 +00:00
cgd 25d056473c Clean up kernel initialization. Use the bootinfo structure (or innate
knowledge) earlier, and gather all information needed earlier.  Mark the
init code carefully re: when it can print stuff out, when it can expect
the firmware to stop working, etc.  Be more careful about using the PROM
console and other PROM facilities, and hint that in the future all use
of firmware/boot program callbacks by the kernel should go away (since
the world may not be mapped the way the firmware/boot program wants!).
1998-02-13 02:09:03 +00:00
thorpej b22ad9fe1a Define a lookup table for Alpha platform variation names. 1998-02-13 01:29:09 +00:00
thorpej bdc328cb13 Use the platform family name in alpha_unknown_sysname(). 1998-02-13 00:27:37 +00:00
thorpej bd60d9c62d Rewrite the way the platform model string is determined:
- Attempt to find the model string in the HWRPB's DSR area.  Failing that
  (if the HWRPB version is too old)...
- Look up the system variation in a variation/string table.  Failing that
  (unknown variation)...
- Create a default model string using the variation number.

Also, factor out a bunch of common code.
1998-02-13 00:12:45 +00:00
thorpej 44df600994 Define the structure of the HWRPB's Dynamic System Recognition area. 1998-02-13 00:07:25 +00:00
thorpej 7fbc685c06 Make it a little more clear that the "eb164" systype doens't necessarily
mean that a machine is a DEC EB164 (it may be an AlphaPC 164, which is
different, from the firmware's perspective).
1998-02-12 20:46:47 +00:00
thorpej 314f40f8d8 We can't count on the CIA revision register telling us if we're a 21171
or 21172, so make the chip/revsion output a little more sane.
1998-02-12 20:43:45 +00:00
kleink 0dc9b5452d Fix variable declarations: register -> register int. 1998-02-12 20:39:41 +00:00
thorpej 44ed0e5b79 Don't include option headers if building an LKM. 1998-02-12 20:38:45 +00:00
thorpej bc8f46d457 defopt UVMHIST_PRINT, and put it in the already-existing opt_uvmhist.h
option header.
1998-02-12 20:12:03 +00:00
thorpej 90aee42d35 Provide a patchable knob (uvmhist_print_enabled) so that UVM history
buffer printing can be switched on and off at run-time.  Only exists
if the kernel is build with UVMHIST_PRINT, and defaults to `on'.
1998-02-12 20:10:15 +00:00
mrg dec29037df make these compile. 1998-02-12 10:12:55 +00:00
chs 7f45dbdfae add copyright. 1998-02-12 07:36:43 +00:00
sakamoto d053bf6ffe Eliminate unnecessary code.
The bebox has only one PCI-ISA bridge(82378ZB).
1998-02-12 05:19:04 +00:00
sakamoto e6ebe3f36f Add avail_end for DMA (temporary). 1998-02-12 05:16:06 +00:00
cgd 5a1a26d325 set 'hwrpb' in a way that works exactly the same way as the previous
code, but looks significantly less gross.
1998-02-12 02:54:02 +00:00
cgd c7ba12ab93 rename struct rob's "rpb" element to "rpb_phys" for clarity. also,
change its type from a pointer to a never-defined structure to a
u_int64_t.
1998-02-12 02:27:48 +00:00
cgd 92d17b5b50 clean up the way bootinfo information is passed and used: move the version
number passed by the boot block into a register, change the kernel's
bootinfo handing so that it always uses bootinfo to get bootinfo-ish values
(filling them in if the boot blocks didn't pass them), and make versioning
a small bit more sane.
1998-02-12 01:53:18 +00:00
sakamoto eef219fd43 Sync with powerpc/include/endian.h 1998-02-12 01:28:48 +00:00
sakamoto 4a3839dbdd Sync with powerpc/include/ansi.h 1998-02-12 01:21:10 +00:00
sakamoto fcfdcaa513 Sync with port-i386. 1998-02-12 01:19:04 +00:00
sakamoto 4429e5c5fe Import memory disk filesystem hook from port-i386. 1998-02-12 01:03:58 +00:00
gwr 948e07a5ec remove ifdef sun3x 1998-02-11 19:42:29 +00:00
bouyer 0435e7ea98 Correct a bogosity in the adapter->mii attach code pointed out by cgd:
in pci/if_tl.c, call config_found() with a print function, instead of
printing ourself a message in if_tl.c if no miibus was found. The print
function is in mii/mii.c (mii_adapter_print()) so that it can be used by any
adapter (idea from the scsi system).
1998-02-11 19:02:11 +00:00
perry a4539d646c Add __NetBSD_Version__, add some comments. 1998-02-11 18:56:59 +00:00
mrg 6a324bffbd make these work with -DUVM 1998-02-11 11:57:21 +00:00
thorpej c26f962957 Use kernel_map in bus_dmamem_{map,free}(). 1998-02-11 03:08:31 +00:00
thorpej cb9500aac0 Fix for defopt'd UVM and PMAP_NEW. 1998-02-11 03:05:35 +00:00
thorpej e9017a5ab3 Use kernel_map in bus_dmamem_{map,free}(). 1998-02-11 03:03:52 +00:00
thorpej bdecbe552b Use M_DMAMAP where appropriate. 1998-02-11 01:50:36 +00:00
thorpej 30aa56fc66 Use M_DMAMAP where appropriate. 1998-02-11 01:37:51 +00:00
thorpej 841fb8fd54 Don't try to dynamically create and destroy DMA maps. Instead, keep
it simple, and allocate one for each transmit and receive descriptor.

In addition to being simpler and faster, this fixes a serious memory leak
in the transmit path.
1998-02-11 01:28:22 +00:00
cgd e21b7a5995 leave space for bootstrap stack when calculating kernstart 1998-02-11 00:05:33 +00:00
thorpej ce61ddb564 Add an M_DMAMAP malloc type, for bus_dma data structures. 1998-02-10 21:46:47 +00:00
thorpej 6e899bb965 Clear the scsipi_xfer's status byte before executing the command. This
fixes a condition where stale data can be left in the status byte, causing
user programs that interpret it to fail.

Fixes kern/4964 from Chris Jones <cjones@honors.montana.edu>.
1998-02-10 19:48:51 +00:00
kleink ed9f037214 Fix EDQUOT and EIDRM, add ENOMSG. 1998-02-10 17:45:06 +00:00
kleink 552ec236a0 Map ENOMSG. 1998-02-10 14:37:38 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
leo 301a4b3f87 Build the library before using it.... (Thomas Gerner). 1998-02-10 10:28:34 +00:00
leo dda805c3d4 Accept an 68060 as cpu-type. (Thomas Gerner). 1998-02-10 10:25:08 +00:00
thorpej 1951c4b19b Bump KNMEMCLUSTERS slightly, and make it more obvious how to tune it
(lifted from i386 port).
1998-02-10 03:53:01 +00:00
thorpej 68d3b764ce Make it easier to keep the scaled VM_*_SIZE values in sync w/ the
constants.
1998-02-10 03:52:05 +00:00
perry 021fdb646a add/cleanup multiple inclusion protection. 1998-02-10 02:34:17 +00:00
perry 57f323af87 re-alphabetize LDIRS 1998-02-10 02:06:06 +00:00
perry f73530ba55 add/cleanup multiple inclusion protection. 1998-02-10 01:26:19 +00:00
thorpej 5887833ac7 Kernel for babylon.netbsd.org. 1998-02-10 00:48:14 +00:00
perry d39928a203 add/cleanup multiple inclusion protection. 1998-02-10 00:25:25 +00:00
is cb1085870c Add the LIMITMEM workaround for the kernel address space size problem.
Will be removed as soon as the kernel can auto-adapt to its address space.
1998-02-09 22:14:43 +00:00
jeremy a1efa84a4d Modified the comments for the recentlty implemented pmap_map() function. 1998-02-09 19:56:37 +00:00
perry 41c3fea850 add multiple inclusion protection (and cleanup). 1998-02-09 17:43:44 +00:00
mrg e92c7d991e KNF. 1998-02-09 14:35:48 +00:00
mrg 7d3aef40b3 keep statistics on pageout/pagein, total pages, and total operations. 1998-02-09 13:08:22 +00:00
thorpej eda74e6121 - Perform all necessary bus_dmamap_sync() operations.
- Greatly simplify allocation and DMA mapping of the mailbox and ccbs.
- Be more robust against resource shortage errors, and report errors better.
1998-02-09 10:53:07 +00:00
thorpej 5fe6759646 Fix serial console support, which was broken by the previous revision:
- In the console getc routine, block until a character becomes ready
  (no, really, we mean it).  This routine should _never_ time out.
- In the console putc routine, if the UART has trouble, do NOT proceed
  to print a diagnostic message, which would recursively invoke the
  console putc routine ad nauseum.
1998-02-09 10:22:45 +00:00
mrg 3112d4b3e1 KNF. 1998-02-09 04:05:36 +00:00
scottb 2ee5fa7f17 iBCS2 code cleanup
added support for ELF binaries
added support for ELF shared libs via mmap code borrowed from svr4_misc.c
incorporated a few XENIX patches from Andreas Wrede <andreas@planix.com>
1998-02-09 02:30:42 +00:00
scottb 876dc027a1 added support for SCO UNIX (derived from iBCS2) 1998-02-09 01:29:10 +00:00
mrg 7ff12d37cc fill out vmtotals: t_free, t_vm, t_avm, t_rm and t_arm. leaves shared of same, and t_pw. 1998-02-08 22:23:33 +00:00
thorpej da21f06eb5 Remove the pager options; they're in std.sparc, and will stay there
until UVM is no longer optional.
1998-02-08 19:24:28 +00:00
thorpej 93b0450b6a Back out previous change (again, grrrr). 1998-02-08 19:23:20 +00:00
kleink 7cf291e0dd Add ENOMSG. 1998-02-08 19:04:31 +00:00
thorpej 223caea788 pmap_page_index() is not used in the MACHINE_NEW_NONCONTIG case. 1998-02-08 18:47:06 +00:00