Commit graph

2050 commits

Author SHA1 Message Date
Ben Gras
525af3c6b2 controller variable is no longer sensible
set default label to BIG
2006-03-10 14:10:11 +00:00
Ben Gras
25fdc7657d panic() on inconsistent endpoints 2006-03-10 12:59:46 +00:00
Ben Gras
bf081105f1 No label stuff. All drivers. 2006-03-10 12:43:26 +00:00
Ben Gras
6746ee10f5 If re-open fails, mark fd as unusable but not-reusable either (until
close()d).
2006-03-09 16:00:33 +00:00
Philip Homburg
1353798747 Better probing code 2006-03-09 15:05:43 +00:00
Ben Gras
9a6987e9cd Medium stack for ds and rs 2006-03-09 14:03:39 +00:00
Ben Gras
0d831b9c22 Don't print anything if anything is wrong in send_sig() 2006-03-09 14:02:56 +00:00
Ben Gras
95285c399e A little more stack for memory 2006-03-09 14:02:32 +00:00
Ben Gras
6d98f7205a Verify if log process numbers are sensible 2006-03-09 14:00:33 +00:00
Ben Gras
5498a74d87 Typo in comment. 2006-03-09 13:59:59 +00:00
Ben Gras
af9aa29858 No gmake in use 2006-03-08 16:46:40 +00:00
Ben Gras
63e8494043 *** empty log message *** 2006-03-08 16:45:55 +00:00
Ben Gras
02a66adca0 *** empty log message *** 2006-03-08 16:34:36 +00:00
Ben Gras
a0d72d263c update needs more stack in order to handle signals 2006-03-08 15:42:31 +00:00
Ben Gras
925dd3321f Don't blindly skip 0-group processes in signals 2006-03-08 14:46:42 +00:00
Ben Gras
6c2a1bac7b endpoint fixes for RS 2006-03-08 14:38:35 +00:00
Ben Gras
acb804f0bd RS formatting fixes 2006-03-08 14:37:26 +00:00
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