Commit graph

1383 commits

Author SHA1 Message Date
Ben Gras df361e818e Endpoint-enabled fix 2006-03-08 13:10:35 +00:00
Philip Homburg 4b62006c04 Fixed typo. 2006-03-08 12:30:43 +00:00
Ben Gras 4d115fcd91 rc: don't start floppy or at driver
passwd: add games for nethack
2006-03-08 12:21:40 +00:00
Philip Homburg 167ea0faa5 Added some disabled debug code. 2006-03-08 12:06:33 +00:00
Philip Homburg 9a1dfc5128 Do not confuse proc with proc_addr if you want a bug free kernel. 2006-03-08 11:59:59 +00:00
Ben Gras 4686e11dd5 Test receive() return code 2006-03-07 15:45:14 +00:00
Ben Gras 0cd9341f21 Tightened generation size - don't count process numbers more than once 2006-03-07 15:44:34 +00:00
Ben Gras 18df4cb859 Improved test constant 2006-03-07 15:44:00 +00:00
Ben Gras 7d95abb072 Take out arbitrary constant 2006-03-07 15:38:43 +00:00
Ben Gras 28324dc841 Fixed wrong fix 2006-03-07 14:58:18 +00:00
Ben Gras f5029b721a Include boot options 2006-03-07 14:32:41 +00:00
Philip Homburg e25dc302a9 Fixed masks on I/O ports. 2006-03-07 14:16:13 +00:00
Philip Homburg a40988a29f Disabled pci_intel_ctrl. 2006-03-07 14:14:53 +00:00
Philip Homburg 69bd34a076 Added rawspeed. 2006-03-07 14:12:51 +00:00
Ben Gras d63e366944 Less stack for ds and rs 2006-03-07 13:22:36 +00:00
Ben Gras f3639098fb Align on 16 byte boundary, not 64k 2006-03-07 12:38:51 +00:00
Ben Gras 34e4c7d02c Do alignment after 64k-dma-boundary adjustment 2006-03-06 16:46:12 +00:00
Philip Homburg 2478cde442 Print PCI capability types. 2006-03-06 15:19:51 +00:00
Philip Homburg d8c209b4f8 A bit of leftover cleanup work. 2006-03-06 10:42:51 +00:00
Ben Gras b31d93aaa4 Comment fixes mailed to bugs@ 2006-03-04 22:51:52 +00:00
Ben Gras 10eeb788f9 Generation number printed too 2006-03-03 16:34:37 +00:00
Philip Homburg 9ddef3c59d Build memory driver last. 2006-03-03 15:38:27 +00:00
Philip Homburg 816973d1fe Support for DMA. 2006-03-03 15:37:51 +00:00
Ben Gras 7465aa5b60 Always do sanity check now. (Possible now that we have lba48.) 2006-03-03 15:34:24 +00:00
Ben Gras aa3932eb8b Added 'xxl' binsizes size for x.
Leave sh and make at normal size for 'big'.
Call binsizes normal after creating release.
2006-03-03 12:44:22 +00:00
Ben Gras 9f200f8807 Endpoint field name 2006-03-03 12:13:37 +00:00
Ben Gras b103bf5dc7 Fix of endpointless slot message in FS
Removed some leftover '#if 0'ed debug code in PM
2006-03-03 10:25:28 +00:00
Ben Gras d1d4b5ae4d *** empty log message *** 2006-03-03 10:22:35 +00:00
Ben Gras f877da3aec endpoint migration for drivers.
mostly renaming message field names to the new names.

tty stored process numbers in chars in tty and pty structs - now ints.
2006-03-03 10:21:45 +00:00
Ben Gras 7967177710 endpoint-aware conversion of servers.
'who', indicating caller number in pm and fs and some other servers, has
been removed in favour of 'who_e' (endpoint) and 'who_p' (proc nr.).

In both PM and FS, isokendpt() convert endpoints to process slot
numbers, returning OK if it was a valid and consistent endpoint number.
okendpt() does the same but panic()s if it doesn't succeed. (In PM,
this is pm_isok..)

pm and fs keep their own records of process endpoints in their proc tables,
which are needed to make kernel calls about those processes.

message field names have changed.

fs drivers are endpoints.

fs now doesn't try to get out of driver deadlock, as the protocol isn't
supposed to let that happen any more. (A warning is printed if ELOCKED
is detected though.)

fproc[].fp_task (indicating which driver the process is suspended on)
became an int.

PM and FS now get endpoint numbers of initial boot processes from the
kernel. These happen to be the same as the old proc numbers, to let
user processes reach them with the old numbers, but FS and PM don't know
that. All new processes after INIT, even after the generation number
wraps around, get endpoint numbers with generation 1 and higher, so
the first instances of the boot processes are the only processes ever
to have endpoint numbers in the old proc number range.

More return code checks of sys_* functions have been added.

IS has become endpoint-aware. Ditched the 'text' and 'data' fields
in the kernel dump (which show locations, not sizes, so aren't terribly
useful) in favour of the endpoint number. Proc number is still visible.

Some other dumps (e.g. dmap, rs) show endpoint numbers now too which got
the formatting changed.

PM reading segments using rw_seg() has changed - it uses other fields
in the message now instead of encoding the segment and process number and
fd in the fd field. For that it uses _read_pm() and _write_pm() which to
_taskcall()s directly in pm/misc.c.

PM now sys_exit()s itself on panic(), instead of sys_abort().

RS also talks in endpoints instead of process numbers.
2006-03-03 10:20:58 +00:00
Ben Gras 1335d5d700 'proc number' is process slot, 'endpoint' are generation-aware process
instance numbers, encoded and decoded using macros in <minix/endpoint.h>.

proc number -> endpoint migration
  . proc_nr in the interrupt hook is now an endpoint, proc_nr_e.
  . m_source for messages and notifies is now an endpoint, instead of
    proc number.
  . isokendpt() converts an endpoint to a process number, returns
    success (but fails if the process number is out of range, the
    process slot is not a living process, or the given endpoint
    number does not match the endpoint number in the process slot,
    indicating an old process).
  . okendpt() is the same as isokendpt(), but panic()s if the conversion
    fails. This is mainly used for decoding message.m_source endpoints,
    and other endpoint numbers in kernel data structures, which should
    always be correct.
  . if DEBUG_ENABLE_IPC_WARNINGS is enabled, isokendpt() and okendpt()
    get passed the __FILE__ and __LINE__ of the calling lines, and
    print messages about what is wrong with the endpoint number
    (out of range proc, empty proc, or inconsistent endpoint number),
    with the caller, making finding where the conversion failed easy
    without having to include code for every call to print where things
    went wrong. Sometimes this is harmless (wrong arg to a kernel call),
    sometimes it's a fatal internal inconsistency (bogus m_source).
  . some process table fields have been appended an _e to indicate it's
    become and endpoint.
  . process endpoint is stored in p_endpoint, without generation number.
    it turns out the kernel never needs the generation number, except
    when fork()ing, so it's decoded then.
  . kernel calls all take endpoints as arguments, not proc numbers.
    the one exception is sys_fork(), which needs to know in which slot
    to put the child.
2006-03-03 10:00:02 +00:00
Ben Gras 5d7f5fccf5 . rename message fields to endpoint variants
. remove or optionalify some pci debugging stuff
2006-03-03 09:44:55 +00:00
Ben Gras 7550304e19 Changes to support endpoints.
. rename message field name macros from *PROC* to *ENDPT*,
    both to reflect the new meaning and to use it to hunt down where
    they are used
  . _PM_SEG_FLAG in fd replaces funny segment loading construction by
    PM in FS
  . _MAX_MAGIC_PROC is the highest used proc number, including magic
    constants such as (currently) ANY, NONE and SELF, used by the
    endpoint macros to make sure they are encoded properly and no valid
    endpoint number ever encodes to it.
  . rename proc_nr in address copy struct to proc_nr_e (endpoint)
2006-03-03 09:43:06 +00:00
Ben Gras 7475a433bb Test fixes
Added test41, for endpoint macros
2006-03-01 15:28:07 +00:00
Ben Gras 7d83ef196d Don't include cdprobe any more 2006-02-24 12:56:06 +00:00
Philip Homburg 4ae5403558 LBA48 support. 2006-02-24 12:55:47 +00:00
Philip Homburg b6d12e81aa Change to some debug code. 2006-02-24 12:55:00 +00:00
Philip Homburg f1bf17aa68 Allow bigger sizes. 2006-02-24 12:53:54 +00:00
Ben Gras c08b6c2e28 Lance needs 4k due to 4k clicksize 2006-02-22 13:45:29 +00:00
Ben Gras c69fe50658 Don't complain, urlget 2006-02-21 16:06:28 +00:00
Ben Gras 04429a150b Peter Boonstoppel's recwave update. 2006-02-21 16:04:18 +00:00
Ben Gras fb240f6354 Peter Boonstoppel's audio changes. 2006-02-21 15:59:33 +00:00
Ben Gras 284dbccf65 Initial endpoint macros. 2006-02-21 15:26:12 +00:00
Ben Gras b89ee5b188 *** empty log message *** 2006-02-20 16:00:24 +00:00
Ben Gras fec2fa95e2 It's not always initialization 2006-02-20 15:11:41 +00:00
Philip Homburg 1d78f4a203 Fixed bug in canceling TCP ioctls before INET got an IP address. 2006-02-20 14:35:01 +00:00
Ben Gras ba667a0774 Don't copy memory to rescue
local package initialization
2006-02-17 16:46:08 +00:00
Ben Gras 17032f9909 Make a /usr/local/etc/rc.d 2006-02-17 15:14:46 +00:00
Ben Gras b3d3ed8f7c Install memory in /usr/sbin 2006-02-17 15:03:38 +00:00
Ben Gras 73c79dde56 Smaller device 2006-02-17 14:43:00 +00:00