49eb1f4806
Primary purpose of change: to support the mmap implementation, VM must know both (a) about some block metadata for FS cache blocks, i.e. inode numbers and inode offsets where applicable; and (b) know about *all* cache blocks, i.e. also of the FS primary caches and not just the blocks that spill into the secondary one. This changes the interface and VM data structures. This change is only for the interface (libminixfs) and VM data structures; the filesystem code is unmodified, so although the secondary cache will be used as normal, blocks will not be annotated with inode information until the FS is modified to provide this information. Until it is modified, mmap of files will fail gracefully on such filesystems. This is indicated to VFS/VM by returning ENOSYS for REQ_PEEK. Change-Id: I1d2df6c485e6c5e89eb28d9055076cc02629594e
613 lines
9.6 KiB
Text
613 lines
9.6 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
|
|
;
|
|
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
|
|
BRK # 02
|
|
EXEC_NEWMEM # 03
|
|
WILLEXIT # 05
|
|
NOTIFY_SIG # 39
|
|
;
|
|
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;
|
|
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;
|
|
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;
|
|
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
|
|
vm MAPCACHEPAGE SETCACHEPAGE;
|
|
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 sched; # Scheduler is sched
|
|
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
|
|
{
|
|
uid 0;
|
|
ipc ALL_SYS; # All system ipc targets allowed
|
|
system # Extra kernel calls allowed:
|
|
UMAP # 14
|
|
VIRCOPY # 15
|
|
IRQCTL # 19
|
|
INT86 # 20
|
|
DEVIO # 21
|
|
SDEVIO # 22
|
|
VDEVIO # 23
|
|
;
|
|
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 2; # priority queue 2
|
|
quantum 50; # default driver quantum
|
|
};
|
|
|
|
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;
|
|
uid 0;
|
|
};
|
|
|
|
service dpeth
|
|
{
|
|
system
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
SDEVIO # 22
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service inet
|
|
{
|
|
uid 0;
|
|
};
|
|
|
|
service lwip
|
|
{
|
|
uid 0;
|
|
};
|
|
|
|
service random
|
|
{
|
|
};
|
|
|
|
service readclock.drv
|
|
{
|
|
io 70:2;
|
|
system
|
|
UMAP # 14
|
|
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
|
|
READBIOS # 35
|
|
;
|
|
pci class
|
|
1/1 # Mass storage / IDE
|
|
1/80 # Mass storage / Other (80 hex)
|
|
1/4 # Mass storage / RAID
|
|
;
|
|
};
|
|
|
|
service procfs
|
|
{
|
|
system
|
|
VIRCOPY # 15
|
|
;
|
|
vm
|
|
INFO
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service isofs
|
|
{
|
|
system
|
|
UMAP # 14
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service hgfs
|
|
{
|
|
ipc
|
|
SYSTEM pm vfs rs vm
|
|
;
|
|
};
|
|
|
|
service vbfs
|
|
{
|
|
ipc
|
|
SYSTEM pm vfs rs ds vm vbox
|
|
;
|
|
};
|
|
|
|
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 orinoco
|
|
{
|
|
system
|
|
PRIVCTL # 4
|
|
UMAP # 14
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
VM_MAP # 30
|
|
;
|
|
pci device 1260/3873;
|
|
pci device 1186/1300;
|
|
uid 0;
|
|
};
|
|
|
|
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 log tty ds vfs vm
|
|
pci inet lwip amddev
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
service filter
|
|
{
|
|
ipc
|
|
SYSTEM pm vfs rs ds vm
|
|
at_wini
|
|
bios_wini
|
|
;
|
|
control
|
|
at_wini
|
|
bios_wini
|
|
;
|
|
};
|
|
|
|
service hello
|
|
{
|
|
system
|
|
IRQCTL # 19
|
|
DEVIO # 21
|
|
;
|
|
ipc
|
|
SYSTEM pm rs log tty ds vm vfs
|
|
pci inet lwip amddev
|
|
;
|
|
uid 0;
|
|
};
|
|
|
|
|
|
service devman
|
|
{
|
|
uid 0;
|
|
};
|
|
|
|
service mmc
|
|
{
|
|
system
|
|
PRIVCTL # 4
|
|
IRQCTL # 19
|
|
;
|
|
irq 83; # IRQ 83 allowed
|
|
};
|
|
|
|
service fb
|
|
{
|
|
system
|
|
UMAP # 14
|
|
DEVIO # 21
|
|
PRIVCTL # 4
|
|
;
|
|
ipc
|
|
SYSTEM pm rs ds vm vfs
|
|
;
|
|
};
|
|
|
|
service gpio
|
|
{
|
|
system
|
|
PRIVCTL # 4
|
|
IRQCTL # 19
|
|
;
|
|
irq
|
|
29 # GPIO module 1
|
|
30 # GPIO module 2
|
|
31 # GPIO module 3
|
|
32 # GPIO module 4
|
|
33 # GPIO module 5
|
|
34 # GPIO module 6
|
|
;
|
|
|
|
};
|
|
|
|
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
|
|
bios_wini
|
|
;
|
|
};
|