9392742cc4
Use safecopy version to get log messages from TTY.
Philip Homburg2006-07-10 12:42:31 +00:00
fd62815e73
Fixed a bug that would report a device more than once. Added safecopy version of do_dev_name and do_slot_name.
Philip Homburg2006-07-10 12:39:54 +00:00
ee09d50403
Changed to use sys_readbios to get screen parameters. Added safecopy version to get log messages.
Philip Homburg2006-07-10 12:37:39 +00:00
a3fce7ce8d
Changed to use sys_readbios get the 'machine ID'.
Philip Homburg2006-07-10 12:35:55 +00:00
dcb7cae67c
Changed to use sys_readbios to get BIOS parameters.
Philip Homburg2006-07-10 12:34:41 +00:00
6f4091eb8c
Added do_readbios. Added debugging output for unexpected use of unsafe copy functions.
Philip Homburg2006-07-10 12:27:26 +00:00
73e5de6354
Added sys_readbios. Changed pci_dev_name and pci_slot_name to use safecopies. Mae it possible to disable the use of safecopies in kputc for debugging.
Philip Homburg2006-07-10 12:17:16 +00:00
d7174ec0ab
Added SI_CALL_STATS and ENABLE_SYSCALL_STATS for system call statistics. Added BUSC_PCI_DEV_NAME_S and BUSC_PCI_SLOT_NAME_S to support safecopies in PCI. Added DL_WRITEV_S, DL_READV_S, DL_GETSTAT_S, DL_GRANT, and iovec_s_t to support safecopies in ethernet drviers. Renamed DL_INIT to DL_CONF, and DL_INIT_REPLY to DL_CONF_REPLY. Added SYS_READBIOS and sys_readbios to read from BIOS data areas. Added GET_KMESS_S for safecopy support in LOG. Added sys_safe_insb and sys_safe_outsb.
Philip Homburg2006-07-10 12:13:29 +00:00
cac387bc1e
Clean ramdisk image .s too
Ben Gras2006-07-06 14:09:54 +00:00
5c55d94007
Bigger BUFSIZ for bigger fs block size.
Ben Gras2006-07-06 10:02:25 +00:00
1561067ee4
Grant system dynamic-only.
Ben Gras2006-06-30 14:40:29 +00:00
b654c02f55
Give pm its own brk() so malloc() works in pm. pm needs more stack for this.
Ben Gras2006-06-30 14:36:11 +00:00
b5179d7025
Split do_brk in a stub and a function that does the real work, so that the real work can be called from elsewhere too. Specifically, to allow PM its own brk().
Ben Gras2006-06-30 14:35:38 +00:00
0323892f71
3rd fix for improper behaviour on crashing driver with safe_io_conversion
Ben Gras2006-06-29 14:24:07 +00:00
f9fb0ff546
Fix bug where safe conversion doesn't happen after 1st time in loop
Ben Gras2006-06-28 10:03:18 +00:00
6b1f8de38a
Added _select() stub for select().
Ben Gras2006-06-27 18:28:33 +00:00
bd535a120b
. satisfy some gcc warnings (uninitialized/unused variables) . change cloexec mask from long to fd_set to remove 32 fd's per process restriction (from cloexec at least)
Ben Gras2006-06-27 16:47:35 +00:00
a0f8161fe7
Stopgap for tar creating insane group ownerships due to tiny gid_t.
Ben Gras2006-06-27 16:30:46 +00:00
59bedc2074
let dynamic allocation of table work
Ben Gras2006-06-27 14:15:47 +00:00
607fb6bf7f
Add a flag to grants system indicating a slot is VALID; so a slot can be reserved (USED), while toggling VALID on and off.
Ben Gras2006-06-27 12:19:45 +00:00
a587273c56
. expanded grant manipulation interface to more direct manipulation . made fs allocate a grant for every ioctl, even if no data is being copied, in order to disambiguate concurrent ioctls on the same minor
Ben Gras2006-06-26 16:08:42 +00:00
002922fa4c
New kernel call, SYS_PARAMCTL, that sets parameters of the caller and is therefore unprivileged. Used to set grant tables.
Ben Gras2006-06-23 15:07:41 +00:00
8dfac43a75
Print ipc_to in hex. Also print the 'system' call mask.
Philip Homburg2006-06-23 13:27:03 +00:00
777dbbe3f7
Everyone's endpoint number
Ben Gras2006-06-23 12:16:22 +00:00
0e9c6932c4
use malloc() + copy + free() instead of realloc()
Ben Gras2006-06-23 12:07:41 +00:00
3ffa1684ae
New option -E for ps that prints endpoint numbers instead of pids.
Ben Gras2006-06-23 11:59:20 +00:00
31318a8ce5
library interface for vectored safecopy variant.
Ben Gras2006-06-23 11:54:35 +00:00
d402047222
Added vectored variant of sys_safecopy*.
Ben Gras2006-06-23 11:54:03 +00:00
82855e9cf5
. leave out dead code from device.c . don't loop doing a receive() after sendrec() - chance of recovering is not high, and can lead to receive()ing a notify() (which can't happen in sendrec()), which is terrible . return status from device when DEV_CANCEL is done on a signal; hardcode EAGAIN to become EINTR though
Ben Gras2006-06-23 11:51:56 +00:00
08bb0f7708
No longer build Michael Temari's httpd. Install a httpd from ports.
Philip Homburg2006-06-22 11:53:03 +00:00
3061d7b17a
Changed do_devio not to require DIO_TYPE, but to extract type from DIO_REQUEST. Also do_vdevio. Also do_sdevio, but this function also supports grant id's and offsets.
Ben Gras2006-06-20 10:03:10 +00:00
1c8b206a5d
. Safe I/O, ioctl() and DIAGNOSTICS variants conversion - safe copies, include grant id in DEV_REVIVE messages. . Removal of TTY_FLAGS field (and so O_NONBLOCK support). . Fixed CANCEL behaviour and return code on blocking I/O, previously handled by O_NONBLOCK . Totally removed REVIVE replies, previously still possible on blocking ioctls (REVIVE directly called) and ptys (missing TTY_REVIVE check), removes deadlock bug with FS . Removed obsolete *COMPAT options and associated code
Ben Gras2006-06-20 09:02:54 +00:00
5350645c86
Safe I/O and ioctl functions
Ben Gras2006-06-20 08:56:15 +00:00
60bbcab13f
Understand *_S variants: DIAGNOSTICS_S, DEV_{READ,WRITE,IOCTL}_S, include grant id in DEV_REVIVE messages
Ben Gras2006-06-20 08:55:35 +00:00
3ca26c812d
Change to 'safe' copy variant
Ben Gras2006-06-20 08:54:22 +00:00
4fa6691106
Change for safe copies, and DEV_REVIVE message including grant id
Ben Gras2006-06-20 08:52:11 +00:00
3bd3c2cee1
Change at driver to understand 'safe' transfers and ioctls; do corresponding safe copy and safe sys_insw and sys_outsw calls.
Ben Gras2006-06-20 08:51:24 +00:00
e929676268
. made libdriver understand *_S variants . ioctl, transfer and 'other' functions get an extra parameter: 'safe', int is nonzero if function is called with *_S variant ('other' if ioctl)
Ben Gras2006-06-20 08:49:51 +00:00
9be69be836
. flex moved back into the base system, so prefix is /usr . sysenv.c and umount.c need <minix/type.h> now
Ben Gras2006-06-20 08:46:45 +00:00
9df1183b94
. removed const from putenv() for g++ . added safecopies.c: these are library functions to maintain grant tables in own address space . sys_safecopy.c: interfaces to kernel calls to perform safe copy functions in from or to foreign process . changes in i/o fields (type merged with request) reflected in library functions (sys_out.c, sys_vinb.c, sys_vinl.c, sys_vinw.c, sys_voutb.c, sys_voutl.c, sys_voutw.c) . type merged with request in sys_sdevio, also now accepts offset which is used when a grant is specified (the _DIO_SAFE subtype) . system printf() function changed to send DIAGNOSTICS_S messages, which specify a grant id instead of a direct address for the buffer to be printed; tty and log can then safecopy the buffer
Ben Gras2006-06-20 08:45:04 +00:00
cfb984e9bd
. renamed __str to __makestr to allow for g++ . changed some CMOS ioctl codes to have correct sizes (struct tm instead of u32_t), a disk ioctl code from W to RW, and memory ioctl codes from R to W, needed for proper matching of grant in FS
Ben Gras2006-06-20 08:40:26 +00:00
aaca17c36d
. introduced DEV_READ_S, DEV_WRITE_S, DEV_SCATTER_S, DEV_GATHER_S and DEV_IOCTL_S as replacements for DEV_READ, DEV_WRITE, DEV_SCATTER, DEV_GATHER and DEV_IOCTL. Instead of a direct address, the *_S commands pass 'grant ids' to the drivers which are referenced through a new set of copy calls (sys_safecopyfrom and sys_safecopyto). in order for this copy to succeed, the grant must have previously been created in the address space of the granter. . bitmap manipulation functions moved to <minix/bitmap.h> . HIGHPOS introduced as field containing high 32 bits of position in device I/O message; TTY_FLAGS no longer used . IO_GRANT field introduced for GRANTs, to replace ADDRESS . REP_IO_GRANT field for un-SUSPEND messages introduced to indicate grant for which I/O was done to disambiguate messages . SYS_SAFECOPYFROM and SYS_SAFECOPYTO introduced as new calls . SYS_PRIV_SET_GRANTS code introduced as a code to set the address and size of the grant table in a process' own address space . 'type' and 'direction' field of _ins* and _outs* I/O functions are merged into one by ORing _DIO_INPUT/_DIO_OUTPUT and _DIO_BYTE/_DIO_WORD etc. This allows for an additional parameter, _DIO_SAFE, which indicates the address in another address space isn't actually an address, but a grant id. Also needs an offset, for which fields had to be merged. . SCP_* are field names for SYS_SAFECOPY* functions . DIAGNOSTICS and GET_KMESS moved to their own range above DIAG_BASE, added DIAGNOSTICS_S which is a grant-based variant of DIAGNOSTICS . removed obsolete BINCOMPAT and SRCCOMPAT options . added GRANT_SEG type for use in vircopy - allows copying to a grant id (without offset) . added _MINIX_IOCTL_* macros that decode information encoded by _IO* macros in ioctl codes, used to check which grants are necessary for an ioctl . introduced the type endpoint_t for process endpoints, changed some prototypes and struct field types to match . renamed protected to prot for g++
Ben Gras2006-06-20 08:38:15 +00:00
6ef5aa4fb2
. flex back into the base system . imports of Michael Temari's httpd and ftp
Ben Gras2006-06-19 14:58:20 +00:00
221e731e45
Wake up writer when selecting for read on an empty pipe. Set fp_revived to NOT_REVIVING when decrementing reviving.
Philip Homburg2006-06-14 13:17:41 +00:00
474d137c39
Forgot include some Minix 3 specific changes.
Philip Homburg2006-06-07 15:03:42 +00:00
cb02a90b77
Fixed some select bugs related to pipes. Removed SELFD_* because they were bogus and unused.
Philip Homburg2006-06-07 14:41:47 +00:00
373ea53510
A bigger ramdisk is needed for the new version of ash.
Philip Homburg2006-06-07 14:39:50 +00:00
acebf7b52f
Important BSD version of setenv, added killpg, replaced _sigsetjmp.c with an assembler jump to longjmp.
Philip Homburg2006-06-07 14:38:39 +00:00
3f297ffd9f
Added killpg to signal.h, rearranged getloadavg, putenv, and setenv in stdlib.h and added unsetenv, added declaration of optreset to unistd.h.
Philip Homburg2006-06-07 14:36:35 +00:00
eaf9e4cff8
Make sure that line editing is disabled when the shell is not connected to a tty.
Philip Homburg2006-05-29 13:20:28 +00:00
43d9263589
Parsing of '-OT' and '-OS' failed in acd.descr.
Philip Homburg2006-05-29 12:29:25 +00:00
5f19e53afb
Install /usr/lib/descr from the source tree.
Philip Homburg2006-05-29 12:25:44 +00:00
7aa4c9ec2f
New version of ash. From FreeBSD 5.4 via Minix-vmd.
Philip Homburg2006-05-23 12:59:34 +00:00
3ea083b8d4
Actually remove allocmem and freemem sources from the library.
Philip Homburg2006-05-19 12:45:55 +00:00
e9aabcf2f8
Disabled building rescue driver (no longer needed). Moved allocmem from library to the memory driver. Always put output from within TTY directly on the console. Removed second include of driver.h from tty.c. Made tty_inrepcode bigger. First step to move PM and FS calls that are not regular (API) system calls out of callnr.h (renumbered them, and removed them from the table.c files). Imported the Minix-vmd uname implementation. This provides a more stable ABI than the current implementation. Added a bit of security checking. Unfortunately not nearly enough to get a secure system. Fixed a bug related to the sizes of the programs in the image (in PM patch_mem_chunks).
Philip Homburg2006-05-19 12:19:37 +00:00
c3cf4ef460
Fixed off by one error in backoff code. Limit backoff to 1 second for disk drivers.
Philip Homburg2006-05-15 12:08:43 +00:00
c9ff3994f1
Unpause requests (to FS) can be generated in parallel to other requests.
Philip Homburg2006-05-15 12:06:19 +00:00