minix/etc/system.conf
Jean-Baptiste Boric b1d068470b isofs: reworked for better performance
isofs now uses an in-memory directory listing built on-the-fly instead
of parsing the ISO 9660 data structures over and over for almost every
request. This yields huge performance improvements.

The directory listing is allocated dynamically, but Minix servers aren't
normally supposed to do that because critical servers would crash if the
system runs out of memory. isofs is quite frugal, won't allocate memory
after having the whole directory tree cached and is not that critical
(its most important job is to serve as a root file system during
installation).

The benefits and elegance of this scheme far outweights this small
problem in practice.

Change-Id: I13d070388c07d274cbee0645cbc50295c447c5b6
2015-10-07 12:40:24 +02:00

755 lines
11 KiB
Text

#
# Boot system services in the boot image
#
service rs
{
uid 0;
ipc ALL; # ALL ipc targets allowed
system ALL; # ALL kernel calls allowed
vm # Extra VM calls allowed:
RS_SET_PRIV # 37
RS_UPDATE # 41
RS_MEMCTL # 42
PROCCTL # 45
RS_PREPARE # 48
;
io NONE; # No I/O range allowed
irq NONE; # No IRQ allowed
sigmgr SELF; # Signal manager is SELF
scheduler KERNEL; # Scheduler is KERNEL
priority 4; # priority queue 4
quantum 500; # default server quantum
};
service ds
{
uid 0;
ipc ALL_SYS; # All system ipc targets allowed
system ALL; # ALL kernel calls allowed
vm BASIC; # Only basic VM calls allowed
io NONE; # No I/O range allowed
irq NONE; # No IRQ allowed
sigmgr rs; # Signal manager is RS
scheduler KERNEL; # Scheduler is KERNEL
priority 4; # priority queue 4
quantum 500; # default server quantum
};
service vm
{
uid 0;
ipc ALL; # ALL ipc targets allowed
system ALL; # ALL kernel calls allowed
vm NONE; # No VM calls allowed
io NONE; # No I/O range allowed
irq NONE; # No IRQ allowed
sigmgr rs; # Signal manager is RS
scheduler KERNEL; # Scheduler is KERNEL
priority 2; # priority queue 2
quantum 500; # default server quantum
};
service pm
{
uid 0;
ipc ALL; # ALL ipc targets allowed
system ALL; # ALL kernel calls allowed
vm # Extra VM calls allowed:
EXIT # 00
FORK # 01
EXEC_NEWMEM # 03
WILLEXIT # 05
NOTIFY_SIG # 39
GETRUSAGE # 47
;
io NONE; # No I/O range allowed
irq NONE; # No IRQ allowed
sigmgr rs; # Signal manager is RS
scheduler KERNEL; # Scheduler is KERNEL
priority 4; # priority queue 4
quantum 500; # default server quantum
};
service sched
{
uid 0;
ipc ALL_SYS; # All system ipc targets allowed
system ALL; # ALL kernel calls allowed
vm BASIC; # Only basic VM calls allowed
io NONE; # No I/O range allowed
irq NONE; # No IRQ allowed
sigmgr rs; # Signal manager is RS
scheduler KERNEL; # Scheduler is KERNEL
priority 4; # priority queue 4
quantum 500; # default server quantum
};
service vfs
{
uid 0;
ipc ALL; # ALL ipc targets allowed
system # Extra kernel calls allowed:
KILL # 06
UMAP # 14
VIRCOPY # 15
MEMSET
;
vm PROCCTL
VFS_MMAP
VFS_REPLY
;
io NONE; # No I/O range allowed
irq NONE; # No IRQ allowed
sigmgr rs; # Signal manager is RS
scheduler KERNEL; # Scheduler is KERNEL
priority 5; # priority queue 5
quantum 500; # default server quantum
};
service mfs
{
ipc ALL_SYS; # All system ipc targets allowed
system BASIC; # Only basic kernel calls allowed
vm MAPCACHEPAGE SETCACHEPAGE FORGETCACHEPAGE CLEARCACHE;
io NONE; # No I/O range allowed
irq NONE; # No IRQ allowed
sigmgr rs; # Signal manager is RS
scheduler sched; # Scheduler is sched
priority 5; # priority queue 5
quantum 500; # default server quantum
};
service ntfs-3g
{
uid SELF; # Use uid of user starting service
ipc ALL_SYS; # All system ipc targets allowed
system BASIC; # Only basic kernel calls allowed
vm BASIC; # Only basic VM calls allowed
io NONE; # No I/O range allowed
irq NONE; # No IRQ allowed
sigmgr rs; # Signal manager is RS
scheduler sched; # Scheduler is sched
priority 5; # priority queue 5
quantum 500; # default server quantum
};
service ext2
{
ipc ALL_SYS; # All system ipc targets allowed
system BASIC; # Only basic kernel calls allowed
vm MAPCACHEPAGE SETCACHEPAGE FORGETCACHEPAGE CLEARCACHE;
io NONE; # No I/O range allowed
irq NONE; # No IRQ allowed
sigmgr rs; # Signal manager is RS
scheduler sched; # Scheduler is sched
priority 5; # priority queue 5
quantum 500; # default server quantum
};
service pfs
{
ipc ALL_SYS; # All system ipc targets allowed
system BASIC; # Only basic kernel calls allowed
io NONE; # No I/O range allowed
irq NONE; # No IRQ allowed
sigmgr rs; # Signal manager is RS
scheduler sched; # Scheduler is sched
priority 5; # priority queue 5
quantum 500; # default server quantum
};
service tty
{
uid 0;
ipc ALL_SYS; # All system ipc targets allowed
system # Extra kernel calls allowed:
KILL # 06
UMAP # 14
VIRCOPY # 15
PHYSCOPY # 16
IRQCTL # 19
INT86 # 20
DEVIO # 21
SDEVIO # 22
VDEVIO # 23
ABORT # 27
IOPENABLE # 28
READBIOS # 35
;
vm BASIC; # Only basic VM calls allowed
io ALL; # ALL I/O ranges allowed
irq NONE; # No IRQ allowed
sigmgr rs; # Signal manager is RS
scheduler KERNEL; # Scheduler is KERNEL (prevents console stalls)
priority 1; # priority queue 1
quantum 50; # default driver quantum
};
service memory
{
uid 0;
ipc ALL_SYS; # All system ipc targets allowed
system # Extra kernel calls allowed:
UMAP # 14
VIRCOPY # 15
PHYSCOPY # 16
IRQCTL # 19
INT86 # 20
DEVIO # 21
SDEVIO # 22
VDEVIO # 23
IOPENABLE # 28
;
vm BASIC; # Only basic VM calls allowed
io NONE; # No I/O range allowed
irq NONE; # No IRQ allowed
sigmgr rs; # Signal manager is RS
scheduler KERNEL; # Scheduler is KERNEL
priority 3; # priority queue 3
quantum 50; # default driver quantum
};
service log
{
ipc SYSTEM vfs rs vm;
priority 2;
};
service init
{
uid 0;
ipc # ipc targets allowed:
pm vfs rs vm
;
system NONE; # No kernel calls allowed
vm BASIC; # Only basic VM calls allowed
io NONE; # No I/O range allowed
irq NONE; # No IRQs allowed
sigmgr pm; # Signal manager is PM
};
#
# Dynamically started system services
#
service floppy
{
irq 6;
io 3f0:8
0:10 # DMA controller
81 # Also DMA
;
system
UMAP # 14
IRQCTL # 19
DEVIO # 21
VDEVIO # 23
;
};
service dp8390
{
system
IRQCTL # 19
DEVIO # 21
SDEVIO # 22
;
pci device 10ec:8029;
io
300:20
;
irq 9;
};
service dpeth
{
system
IRQCTL # 19
DEVIO # 21
SDEVIO # 22
;
uid 0;
};
service inet
{
uid 0;
};
service lwip
{
uid 0;
};
service random
{
};
service readclock.drv
{
ipc ALL;
io 70:2;
system
PRIVCTL # 4
UMAP # 14
VIRCOPY # 15
DEVIO # 21
READBIOS # 35
;
uid 0;
};
service is
{
vm
INFO
;
uid 0;
};
service acpi
{
io ALL;
system
PRIVCTL # 4
DEVIO # 21
;
uid 0;
};
service pci
{
io cf8:8 # PCI bus controller
4d0:2 # PIIX
;
system
PRIVCTL # 4
DEVIO # 21
;
uid 0;
};
service ahci
{
system
UMAP # 14
VUMAP # 18
IRQCTL # 19
;
pci class
1/6/1 # Mass storage / SATA / AHCI
;
};
service virtio_blk
{
system
UMAP
VUMAP
IRQCTL
DEVIO
;
pci device 1af4:1001;
};
service at_wini
{
io 1f0:8 # Controller 0
3f6 # Also controller 0
170:8 # Controller 1
376 # Also controller 1
;
irq
14 # Controller 0
15 # Controller 1
;
system
UMAP # 14
IRQCTL # 19
DEVIO # 21
SDEVIO # 22
VDEVIO # 23
;
pci class # Match these PCI classes:
1/1 # Mass storage / IDE
;
pci device # In addition, match these devices:
1106:3149 # VIA VT6420 RAID (1/4)
1095:3512/1095:6512 # Silicon Image SATA RAID (1/4)
1095:3114/1095:3114 # Silicon Image SATA RAID (1/80)
;
};
service procfs
{
system
VIRCOPY # 15
;
vm
INFO
SETCACHEPAGE
CLEARCACHE
;
uid 0;
};
service isofs
{
system
UMAP # 14
;
vm MAPCACHEPAGE
SETCACHEPAGE
CLEARCACHE
;
uid 0;
};
service hgfs
{
ipc
SYSTEM pm vfs rs vm
;
vm
SETCACHEPAGE
CLEARCACHE
;
};
service vbfs
{
ipc
SYSTEM pm vfs rs ds vm vbox
;
vm
SETCACHEPAGE
CLEARCACHE
;
};
service printer
{
io 378:4 # LPT1
278:4 # LPT2
;
irq
7 # PRINTER_IRQ
;
system
KILL # 6
UMAP # 14
IRQCTL # 19
DEVIO # 21
VDEVIO # 23
READBIOS # 35
;
};
service es1370
{
system
UMAP # 14
IRQCTL # 19
DEVIO # 21
;
pci device 1274:5000;
};
service es1371
{
system
UMAP # 14
IRQCTL # 19
DEVIO # 21
;
pci device 1274:1371;
};
service ti1225
{
system
IRQCTL # 19
;
pci device 104c:ac1c;
};
service amddev
{
pci device 1022:1103;
system
UMAP_REMOTE # 17
;
vm
ADDDMA # 12
DELDMA # 13
GETDMA # 14
;
uid 0;
};
service osscore
{
system
PRIVCTL # 4
UMAP # 14
IRQCTL # 19
DEVIO # 21
SDEVIO # 22
;
pci class
4/1 # Multimedia / Audio device
;
ipc
SYSTEM pm rs tty ds vfs vm
pci inet lwip amddev
;
uid 0;
};
service filter
{
ipc
SYSTEM pm vfs rs ds vm
at_wini
;
control
at_wini
;
};
service input
{
ipc SYSTEM pm vfs rs ds tty vm;
priority 1;
};
service pckbd
{
system
IRQCTL # 19
DEVIO # 21
;
io 60:8; # Keyboard, keyboard command/status
irq
1 # Keyboard
12 # Auxiliary input (mouse)
;
ipc SYSTEM pm rs ds vm input;
priority 1;
};
service hello
{
system
IRQCTL # 19
DEVIO # 21
;
ipc
SYSTEM pm rs tty ds vm vfs
pci inet lwip amddev
;
uid 0;
};
service devman
{
uid 0;
vm
SETCACHEPAGE
CLEARCACHE
;
};
service mmc
{
system
PRIVCTL # 4
IRQCTL # 19
;
# Interrupts allowed
irq
64
83
; # IRQs allowed
priority 4; # priority queue 4
};
service fb
{
system
UMAP # 14
DEVIO # 21
PRIVCTL # 4
;
ipc
SYSTEM pm rs ds vm vfs cat24c256 tda19988
;
};
service gpio
{
system
PRIVCTL # 4
IRQCTL # 19
PADCONF # 57
;
vm
SETCACHEPAGE
CLEARCACHE
;
irq
29 # GPIO module 1 (dm37xx)
30 # GPIO module 2 (dm37xx)
31 # GPIO module 3 (dm37xx)
32 # GPIO module 4 (dm37xx) / module 2a (am335x)
33 # GPIO module 5 (dm37xx) / module 2b (am335x)
34 # GPIO module 6 (dm37xx)
62 # GPIO module 3a (am335x)
63 # GPIO module 3b (am335x)
96 # GPIO module 0a (am335x)
97 # GPIO module 0b (am335x)
98 # GPIO module 1a (am335x)
99 # GPIO module 1b (am335x)
;
};
service i2c
{
system
PRIVCTL # 4
IRQCTL # 19
PADCONF # 57
;
irq
# DM37XX (BeagleBoard-xM)
56 # I2C module 1
57 # I2C module 2
61 # I2C module 3
# AM335X (BeagleBone)
70 # I2C module 1
71 # I2C module 2
30 # I2C module 3
;
ipc SYSTEM RS DS;
};
service cat24c256
{
ipc SYSTEM RS DS i2c;
};
service tda19988
{
ipc SYSTEM RS DS i2c;
};
service tps65217
{
uid 0; # needed for doing reboot()
system IRQCTL PRIVCTL;
irq 7; # NNMI pin on BeagleBone / BeagleBone Black
ipc SYSTEM RS DS PM i2c;
};
service tps65950
{
ipc SYSTEM RS DS i2c readclock.drv;
};
service tsl2550
{
ipc SYSTEM RS DS i2c;
};
service sht21
{
ipc SYSTEM RS DS i2c;
};
service bmp085
{
ipc SYSTEM RS DS i2c;
};
service vbox
{
system
UMAP # 14
VUMAP # 18
IRQCTL # 19
DEVIO # 21
;
pci device 80ee:cafe;
ipc
SYSTEM
PM
RS
VM
pci
;
uid 0;
};
service fbd
{
ipc
SYSTEM vfs rs ds vm
ahci
at_wini
;
};
service vnd
{
ipc
SYSTEM vfs rs vm
;
uid 0; # only for copyfd(2)
};
service uds
{
ipc
SYSTEM vfs rs vm
;
uid 0; # only for checkperms(2) and copyfd(2)
};
service pty
{
system
KILL # 06
;
ipc
SYSTEM vfs rs vm
;
};
service ptyfs
{
ipc
SYSTEM pm vfs rs pty ds vm
;
};
service edfictl
{
ipc ALL;
};
service emmc
{
system
PRIVCTL
IRQCTL
PADCONF
;
irq
28 # MMCSD1INT
;
};