RS changes:

- add new "control" config directive, to let drivers restart drivers
  (by Jorrit Herder)
- fix bug causing system processes to be started twice sometimes
This commit is contained in:
David van Moolenbroek
2009-12-02 09:54:50 +00:00
parent 7c0cdc61bc
commit 4924d1a9b5
7 changed files with 244 additions and 62 deletions

View File

@@ -1,3 +1,6 @@
#ifndef RS_H
#define RS_H
/*
minix/rs.h
@@ -11,6 +14,14 @@ Interface to the reincarnation server
#define RSS_NR_PCI_ID 32
#define RSS_NR_PCI_CLASS 4
#define RSS_NR_SYSTEM 2
#define RSS_NR_CONTROL 8
/* Labels are copied over separately. */
struct rss_label
{
char *l_addr;
size_t l_len;
};
/* Arguments needed to start a new driver or server */
struct rs_start
@@ -33,12 +44,13 @@ struct rs_start
int rss_nr_pci_class;
struct { u32_t class; u32_t mask; } rss_pci_class[RSS_NR_PCI_CLASS];
u32_t rss_system[RSS_NR_SYSTEM];
char *rss_label;
size_t rss_labellen;
struct rss_label rss_label;
char *rss_ipc;
size_t rss_ipclen;
#define RSS_VM_CALL_SIZE BITMAP_CHUNKS(VM_NCALLS)
bitchunk_t rss_vm[RSS_VM_CALL_SIZE];
int rss_nr_control;
struct rss_label rss_control[RSS_NR_CONTROL];
};
#define RF_COPY 0x01 /* Copy the brinary into RS to make it possible
@@ -64,3 +76,4 @@ struct rs_pci
_PROTOTYPE( int minix_rs_lookup, (const char *name, endpoint_t *value));
#endif