x86_64: pmap: cleanup and added some plumbing for mixed-size mappings.
[barrelfish] / errors / errno.fugu
1 /*
2  * Copyright (c) 2009, 2010, 2011, 2012, ETH Zurich.
3  * Copyright (c) 2014, HP Labs.
4  * All rights reserved.
5  *
6  * This file is distributed under the terms in the attached LICENSE file.
7  * If you do not find this file, copies can be found by writing to:
8  * ETH Zurich D-INFK, CAB F.78, Universitaetstr. 6, CH-8092 Zurich,
9  * Attn: Systems Group.
10  */
11
12 // Kernel/syscall errors
13 errors kernel SYS_ERR_ {
14     default success OK          "Success",
15
16     // generic errors during system call handling
17     failure ILLEGAL_SYSCALL     "Illegal system call number",
18     failure INVARGS_SYSCALL     "Invalid system call arguments",
19     failure CALLER_ENABLED      "Invalid system call while enabled",
20     failure CALLER_DISABLED     "Invalid system call while disabled",
21     failure ILLEGAL_INVOCATION  "Illegal capability invocation",
22     failure INVALID_USER_BUFFER "Invalid user space buffer",
23
24     // LMP errors
25     failure LMP_NO_TARGET       "There is no target dispatcher for this endpoint",
26     failure LMP_TARGET_DISABLED "Target of LMP is disabled",
27     failure LMP_BUF_OVERFLOW    "The endpoint buffer is full",
28     failure LMP_EP_STATE_INVALID "Target has corrupt/invalid state in its endpoint structure",
29     failure LMP_CAPTRANSFER_SRC_LOOKUP          "Error looking up source for cap transfer",
30     failure LMP_CAPTRANSFER_DST_CNODE_LOOKUP    "Error looking up destination CNode for cap transfer",
31     failure LMP_CAPTRANSFER_DST_CNODE_INVALID   "Destination CNode cap not of type CNode for cap transfer",
32     failure LMP_CAPTRANSFER_DST_SLOT_OCCUPIED   "Destination slot is occupied for cap transfer",
33     failure LRPC_SLOT_INVALID   "Invalid slot specified for LRPC",
34     failure LRPC_NOT_ENDPOINT   "Slot specified for LRPC does not contain an endpoint cap",
35     failure INVALID_EPLEN       "Endpoint buffer has invalid length",
36
37     // XXX: this should go away -AB
38     failure IDC_MSG_BOUNDS      "Attempted to retrieve a word beyond the size of an LMP message structure",
39
40     // Generic CSpace lookup errors
41     failure CNODE_TYPE          "Encountered non-CNode capability when resolving slot",
42     failure CNODE_RIGHTS        "Insufficient rights on CNode",
43     failure DEPTH_EXCEEDED      "Exceeded depth limit of CSpace",
44     failure GUARD_MISMATCH      "Guard does not match",
45     failure CAP_NOT_FOUND       "Capability not found (empty slot encountered)",
46     failure IDENTIFY_LOOKUP     "Error while looking up cap to identify",
47
48     // Generic capability manipulation errors
49     failure SLOT_IN_USE         "Destination capability slots occupied",
50     failure SLOT_LOOKUP_FAIL    "Failure during slot lookup",
51     failure GUARD_SIZE_OVERFLOW "Specified guard size exceeds CSpace depth",
52     failure INVALID_SOURCE_TYPE "Invalid source capability type",
53     failure ILLEGAL_DEST_TYPE   "Illegal destination capability type",
54     failure SOURCE_CAP_LOOKUP   "Error looking up source capability",
55     failure DEST_CNODE_LOOKUP   "Error looking up destination CNode",
56     failure DEST_CNODE_INVALID  "Destination CNode cap is not of type CNode",
57     failure ROOT_CAP_LOOKUP     "Error looking up root capability",
58     failure DEST_TYPE_INVALID   "Destination capability is of invalid type",
59     failure INVALID_RETYPE      "Invalid source/destination type pair for retyping",
60     failure REVOKE_FIRST        "Capability already has descendants or siblings",
61     failure INVALID_SIZE_BITS   "Invalid size for new objects",
62     failure SLOTS_INVALID       "Destination capability slots exceed capacity of CNode",
63     failure SLOTS_IN_USE        "One or more destination capability slots occupied",
64     failure RETYPE_CREATE       "Error while creating new capabilities in retype",
65     failure NO_LOCAL_COPIES     "No copies of specified capability in local MDB",
66     failure RETRY_THROUGH_MONITOR "There is a remote copy of the capability, monitor must be involved to perform a cross core agreement protocol",
67     failure TYPE_NOT_CREATABLE  "Specified capability type is not creatable at runtime. Consider retyping it from another capability.",
68
69     // errors specific to page mapping
70     failure VNODE_SLOT_INVALID      "Destination slot exceeds size of page table",
71     failure WRONG_MAPPING           "Wrong source/destination mapping type",
72     failure FRAME_OFFSET_INVALID    "Specified offset exceeds size of frame",
73     failure VNODE_SLOT_RESERVED     "Destination slot is reserved",
74     failure VNODE_SLOT_INUSE        "Destination slot in use: unmap first",
75     failure VNODE_TYPE              "Encountered non-VNode capability when manipulating page tables",
76     failure VNODE_LOOKUP_NEXT       "Could not find next level page table",
77     failure VNODE_NOT_INSTALLED     "VNode not in rooted page table tree",
78     failure VM_ALREADY_MAPPED       "This cap copy is already mapped",
79     failure VM_MAP_SIZE             "Mapping size too large",
80     failure VM_MAP_OFFSET           "Mapping offset too large",
81     failure VM_RETRY_SINGLE         "Mapping overlaps multiple leaf page tables, retry",
82
83     // errors related to IRQ table
84     failure IRQ_LOOKUP          "Specified capability was not found while inserting in IRQ table",
85     failure IRQ_NOT_ENDPOINT    "Specified capability is not an endpoint cap",
86     failure IRQ_NO_LISTENER     "No listener on specified endpoint cap", // ??
87     failure IRQ_INVALID         "Invalid interrupt number",
88
89     // IO capability
90     failure IO_PORT_INVALID     "IO port out of range",
91
92     // Dispatcher setup and spawn core invocations
93     failure DISP_CSPACE_ROOT    "Error setting CSpace root on dispatcher",
94     failure DISP_CSPACE_INVALID "Invalid capability type given for CSpace root on dispatcher",
95     failure DISP_VSPACE_ROOT    "Error setting VSpace root on dispatcher",
96     failure DISP_VSPACE_INVALID "Invalid capability type given for VSpace root on dispatcher",
97     failure DISP_FRAME          "Error setting dispatcher frame",
98     failure DISP_FRAME_INVALID  "Invalid capability type given for dispatcher frame",
99     failure DISP_NOT_RUNNABLE   "Cannot run dispatcher; it is not completely setup",
100     failure DISP_CAP_LOOKUP     "Error looking up dispatcher cap",
101     failure DISP_CAP_INVALID    "Invalid type capability given for dispatcher cap",
102     failure KERNEL_MEM_LOOKUP   "Error looking up capability for kernel memory",
103     failure KERNEL_MEM_INVALID  "Invalid capability type passed for kernel memory",
104     failure CORE_NOT_FOUND      "Unable to boot core: core ID does not exist",
105     failure INVALID_YIELD_TARGET "Target capability for directed yield is invalid",
106     failure DISP_OCAP_LOOKUP    "Error looking up other dispatcher cap",
107
108     // VMKit specific errors
109     failure VMKIT_UNAVAIL               "Virtualization extensions are unavailable",
110     failure VMKIT_VMCB                  "Error setting VMCB for dispatcher",
111     failure VMKIT_VMCB_INVALID          "Invalid frame capability passed for VMCB",
112     failure VMKIT_CTRL                  "Error setting control area for dispatcher",
113     failure VMKIT_CTRL_INVALID          "Invalid frame capability passed for control structure",
114     failure VMKIT_ENDPOINT              "Error setting monitor endpoint for dispatcher",
115     failure VMKIT_ENDPOINT_INVALID      "Invalid monitor endpoint capability passed",
116
117     // Serial port errors
118     failure SERIAL_PORT_INVALID         "Invalid serial port",
119     failure SERIAL_PORT_UNAVAILABLE     "Serial port unavailable",
120
121     // Performance monitoring errors
122     failure PERFMON_NOT_AVAILABLE       "Performance monitoring feature unavailable",
123
124     // Time synchronization errors
125     failure SYNC_MISS                   "Missed synchronization phase",
126
127     // SCC driver errors
128     failure CROSS_MC                    "Frame crosses memory controllers",
129
130     // ID capability
131     failure ID_SPACE_EXHAUSTED  "ID space exhausted",
132
133     // I2C driver
134     // XXX: should not be in kernel
135     failure I2C_UNINITIALIZED           "Trying to use uninitialized i2c controller",
136     failure I2C_ZERO_LENGTH_MSG         "Zero byte transfers not allowed",
137     failure I2C_WAIT_FOR_BUS            "Wait for bus free timed out",
138     failure I2C_FAILURE                 "I2C subsystem failure",
139
140 };
141
142 // errors generated by libcaps
143 errors libcaps CAPS_ERR_ {
144     // general errors
145     failure INVALID_ARGS        "Invalid arguments",
146
147     // mdb operation errors
148     failure MDB_DUPLICATE_ENTRY "Inserted entry already present",
149     failure MDB_ENTRY_NOTFOUND  "Removed entry not found",
150
151     // search errors
152     failure CAP_NOT_FOUND       "Did not find a matching capability",
153 };
154
155 // errors generated by libbarrelfish code
156 errors libbarrelfish LIB_ERR_ {
157     // generic errors
158     failure WHILE_DELETING      "Error while deleting capability",
159     failure WHILE_FREEING_SLOT  "Error while freeing capability slot",
160     failure MALLOC_FAIL         "Malloc returned NULL",
161     failure SLAB_ALLOC_FAIL     "slab_alloc() returned NULL",
162     failure SLAB_REFILL         "Refilling slab allocator failed",
163     failure NOT_IMPLEMENTED     "functionality not implemented yet",
164     failure SHOULD_NOT_GET_HERE "Should not get here",
165     failure NOT_CNODE           "Function invoked on a capref, that does not represent a CNode",
166
167     // nested errors in specific functions
168     failure FRAME_ALLOC         "Failure in frame_alloc()",
169     failure FRAME_CREATE        "Failure in frame_create()",
170     failure FRAME_CREATE_MS_CONSTRAINTS "frame_create() failed due to constraints to mem_serv in ram_alloc",
171     failure VNODE_CREATE        "Failure in vnode_create()",
172     failure CNODE_CREATE        "Failure in cnode_create()",
173     failure CNODE_CREATE_FROM_MEM "Failure in cnode_create_from_mem()",
174     failure RAM_ALLOC           "Failure in ram_alloc()",
175     failure RAM_ALLOC_WRONG_SIZE "Wrong size of memory requested in ram alloc",
176     failure RAM_ALLOC_MS_CONSTRAINTS "Ram alloc failed due to constraints to mem_serv",
177     failure CAP_MINT            "Failure in cap_mint()",
178     failure CAP_COPY            "Failure in cap_copy()",
179     failure CAP_RETYPE          "Failure in cap_retype()",
180     failure DEVFRAME_TYPE       "Failure in devframe_type()",
181     failure CAP_DELETE          "Failure in cap_delete()",
182     failure CAP_DESTROY         "Failure in cap_destroy()",
183     failure CAP_INVOKE          "Failure in cap_invoke()",
184     failure ENDPOINT_CREATE     "Failure in endpoint_create()",
185     failure FRAME_IDENTIFY      "Failure in frame_identify",
186     failure VNODE_MAP           "Failure in vnode_map()",
187     failure VNODE_UNMAP         "Failure in vnode_unmap()",
188     failure IDC_ENDPOINT_ALLOC  "Failure in idc_endpoint_alloc()",
189
190     failure SLOT_ALLOC_INIT     "Failure in slot_alloc_init()",
191     failure SLOT_ALLOC_NO_SPACE    "Slot allocator is out of space",
192     failure SLOT_ALLOC_WRONG_CNODE "The slot to free does not belong in this cnode",
193     failure SINGLE_SLOT_ALLOC_INIT_RAW "Failure in single_slot_alloc_init_raw()",
194     failure SINGLE_SLOT_ALLOC_INIT "Failure in single_slot_alloc_init()",
195     failure MULTI_SLOT_ALLOC_INIT  "Failure in multi_slot_alloc_init()",
196     failure MULTI_SLOT_ALLOC_INIT_RAW  "Failure in multi_slot_alloc_init_raw()",
197     failure SINGLE_SLOT_ALLOC      "Failure in single_slot_alloc()",
198     failure SLOT_ALLOC             "Failure in slot_alloc()",
199     failure SLOT_FREE              "Failure in slot_free()",
200     failure SLOT_UNALLOCATED       "slot_free() was called on an unallocated slot",
201
202     // vspace
203     failure VSPACE_CURRENT_INIT "Failure in vspace_current_init()",
204     failure VSPACE_INIT         "Failure in vspace_init()",
205     failure VSPACE_LAYOUT_INIT  "Failure in vspace_layout_init()",
206     failure VSPACE_DESTROY      "Failure in vspace_destroy()",
207     failure VSPACE_REGION_OVERLAP "Overlap with existing region in vspace_add_region()",
208     failure VSPACE_ADD_REGION   "Failure in vspace_add_region()",
209     failure VSPACE_REMOVE_REGION  "Failure in vspace_remove_region()",
210     failure VSPACE_PAGEFAULT_HANDER "Failure in vspace_pagefault_handler()",
211     failure VSPACE_VREGION_NOT_FOUND "The vregion to remove not found in the vspace list",
212     failure VSPACE_PAGEFAULT_ADDR_NOT_FOUND "The faulting address not found in the page fault handler",
213
214     failure VSPACE_PINNED_INIT  "Failure in vspace_pinned_init()",
215     failure VSPACE_PINNED_ALLOC "Failure in vspace_pinned_alloc()",
216     failure VSPACE_PINNED_INVALID_TYPE "Wrong type of slab requested",
217
218     failure VREGION_MAP         "Failure in vregion_map()",
219     failure VREGION_MAP_FIXED   "Failure in vregion_map_fixed()",
220     failure VREGION_NOT_FOUND   "vregion not found in the vspace list",
221     failure VREGION_DESTROY     "Failure in vregion_destroy()",
222     failure VREGION_PAGEFAULT_HANDLER "Failure in vregion_pagefault_handler()",
223     failure VREGION_BAD_ALIGNMENT "Unaligned address passed to vregion_map_fixed",
224
225     failure MEMOBJ_CREATE_ANON  "Failure in memobj_create_anon()",
226     failure MEMOBJ_CREATE_ONE_FRAME "Failure in memobj_create_one_frame()",
227     failure MEMOBJ_CREATE_ONE_FRAME_ONE_MAP "Failure in memobj_create_one_frame_one_map()",
228     failure MEMOBJ_CREATE_PINNED "Failure in memobj_create_pinned()",
229     failure MEMOBJ_CREATE_VFS   "Failure in memobj_create_vfs()",
230     failure MEMOBJ_MAP_REGION   "Failure in memobj_map_region()",
231     failure MEMOBJ_UNMAP_REGION "Failure in memobj_unmap_region()",
232     failure MEMOBJ_PIN_REGION   "Failure in memobj_pin_region()",
233     failure MEMOBJ_UNPIN_REGION "Failure in memobj_unpin_region()",
234     failure MEMOBJ_FILL         "Failure in memobj_fill()",
235     failure MEMOBJ_PAGEFAULT_HANDLER "Failure in memobj_pagefault_handler()",
236     failure MEMOBJ_PAGER_FREE   "Failure in memobj_pager_free()",
237     failure MEMOBJ_WRONG_OFFSET "Wrong offset passed",
238     failure MEMOBJ_FRAME_ALLOC  "Failure the frame alloc function pointer",
239     failure MEMOBJ_VREGION_ALREADY_MAPPED "Pinned memobj only supports one vregion",
240     failure MEMOBJ_UNFILL_TOO_HIGH_OFFSET "The offset given to unfill is too large",
241     failure MEMOBJ_PROTECT      "Failure in memobj protect call",
242     failure MEMOBJ_DUPLICATE_FILL "The offset given to fill is already backed",
243
244     failure PMAP_INIT         "Failure in pmap_init()",
245     failure PMAP_CURRENT_INIT "Failure in pmap_current_init()",
246     failure PMAP_DETERMINE_ADDR "Failure in pmap_determine_addr()",
247     failure PMAP_DO_MAP       "Failure in pmap_do_map()",
248     failure PMAP_MAP          "Failure in pmap_map()",
249     failure PMAP_DO_SINGLE_MAP "Failure in pmap_do_single_map()",
250     failure PMAP_UNMAP        "Failure in pmap_unmap()",
251     failure PMAP_DO_SINGLE_UNMAP "Failure in pmap_do_single_unmap()",
252     failure PMAP_MODIFY_FLAGS "Failure in pmap_modify_flags()",
253     failure PMAP_GET_PTABLE   "Failure in get_mapping()",
254     failure PMAP_ALLOC_VNODE  "Failure in alloc_vnode()",
255     failure PMAP_ADDR_NOT_FREE "The requested address range is not free",
256     failure PMAP_FIND_VNODE   "vnode not found",
257     failure PMAP_EXISTING_MAPPING "Cannot replace existing mapping, unmap first",
258     failure PMAP_FRAME_SIZE "Given Frame to small to fulfil mapping request",
259
260     failure OUT_OF_VIRTUAL_ADDR  "Out of virtual address",
261
262     failure SERIALISE_BUFOVERFLOW "Buffer overflow while serialising",
263
264     failure VSPACE_MAP        "Failure in vspace_map() wrapper function",
265
266     failure VSPACE_MMU_AWARE_INIT  "Failure in vspace_mmu_aware_init() function",
267     failure VSPACE_MMU_AWARE_MAP   "Failure in vspace_mmu_aware_map() function",
268     failure VSPACE_MMU_AWARE_NO_SPACE "Out of space in vspace_mmu_aware_map() function",
269
270     // Performance counters
271     failure INVOKE_PERFMON_SETUP    "Error in invoke perfmon setup",
272     failure INVOKE_PERFMON_WRITE    "Error in invoke perfmon write",
273
274     // CORESET
275     failure CORESET_NEW             "Failure in coreset_new()",
276     failure CORESET_GET_NEXT_DONE   "No more elements left in coreset_get_next()",
277
278     // IDC (and LMP/UMP channels)
279     failure NO_LMP_MSG          "No LMP message available",
280     failure LMP_RECV_BUF_OVERFLOW "LMP message in endpoint is longer than user-provided buffer",
281     failure NO_UMP_MSG          "No UMP message available",
282     failure UMP_CHAN_FULL       "Cannot send UMP: channel is full",
283     failure LMP_BUFLEN_INVALID  "Cannot create LMP endpoint, invalid buffer length",
284     failure NO_ENDPOINT_SPACE   "Cannot allocate LMP endpoint, out of space in dispatcher frame",
285     failure UMP_BUFSIZE_INVALID "Size of UMP buffer is invalid (must be multiple of message size)",
286     failure UMP_BUFADDR_INVALID "Address of UMP buffer is invalid (must be cache-aligned)",
287     failure UMP_FRAME_OVERFLOW  "Provided frame is too small for requested UMP channel sizes",
288     failure LMP_ENDPOINT_REGISTER "Failure in lmp_endpoint_register()",
289     failure CHAN_REGISTER_SEND  "Failure in *_chan_register_send()",
290     failure CHAN_DEREGISTER_SEND "Failure in *_chan_deregister_send()",
291     failure CHAN_REGISTER_RECV  "Failure in *_chan_register_recv()",
292     failure CHAN_DEREGISTER_RECV "Failure in *_chan_deregister_recv()",
293     failure LMP_CHAN_INIT       "Failure in lmp_chan_init()",
294     failure UMP_CHAN_INIT       "Failure in ump_chan_init()",
295     failure LMP_CHAN_RECV       "Failure in lmp_chan_recv()",
296     failure UMP_CHAN_RECV       "Failure in ump_chan_recv()",
297     failure LMP_CHAN_SEND       "Failure in lmp_chan_send()",
298     failure LMP_CHAN_BIND       "Failure in lmp_chan_bind()",
299     failure UMP_CHAN_BIND       "Failure in ump_chan_bind()",
300     failure LMP_CHAN_ACCEPT     "Failure in lmp_chan_accept()",
301     failure UMP_CHAN_ACCEPT     "Failure in ump_chan_accept()",
302     failure LMP_ALLOC_RECV_SLOT "Failure in lmp_chan_alloc_recv_slot()",
303     failure LMP_NOT_CONNECTED   "Channel is disconnected",
304     failure MSGBUF_OVERFLOW     "Attempted to demarshall beyond bounds of message buffer",
305     failure MSGBUF_CANNOT_GROW  "Failed to grow message buffer while marshalling",
306     failure RCK_NOTIFY          "Failure in rck_notify()",
307     failure IPI_NOTIFY          "Failure in ipi_notify()",
308
309     // IDC binding/export and Monitor client interface
310     failure MONITOR_CLIENT_BIND "Error in monitor_client_lmp_bind()",
311     failure MONITOR_CLIENT_ACCEPT "Error in monitor_client_lmp_accept()",
312     failure NAMESERVICE_NOT_BOUND "Name service client is not bound",
313     failure NAMESERVICE_UNKNOWN_NAME "Lookup failed: unknown name",
314     failure NAMESERVICE_INVALID_NAME "Invalid record retrieved (no iref attribute)",
315     failure BIND_LMP_REQ        "Failure sending bind_lmp_request to monitor",
316     failure BIND_UMP_REQ        "Failure sending bind_ump_request to monitor",
317     failure BIND_LMP_REPLY      "Failure sending bind_lmp_reply to monitor",
318     failure BIND_UMP_REPLY      "Failure sending bind_ump_reply to monitor",
319     failure NO_LMP_BIND_HANDLER "LMP connection handler not registered for this service",
320     failure NO_UMP_BIND_HANDLER "UMP connection handler not registered for this service",
321     failure MONITOR_CAP_SEND    "Failed sending capability via monitor",
322     failure MONITOR_RPC_BIND    "Error in monitor_rpc_init()",
323
324     // multihop
325     failure BIND_MULTIHOP_REQ   "Failed sending bind_multihop_request to monitor",
326     failure NO_MULTIHOP_BIND_HANDLER "MULTIHOP connection handler not registered for this service",
327     failure BIND_MULTIHOP_SAME_CORE "Cannot create a multihop channel to service on the same core",
328
329     // Bulk transfer
330     failure BULK_UNKNOWN_ID     "Unknown bulk transfer block ID",
331
332     // Domain
333     failure NO_SPANNED_DISP       "There is no spanned dispatcher on the given core",
334     failure SEND_RUN_FUNC_REQUEST "Failure in trying to send run_func_request",
335     failure SEND_CAP_REQUEST      "Failure in trying to send capability",
336     failure CAP_COPY_FAIL         "cap_copy failed",
337     failure CAP_DELETE_FAIL       "cap_delete failed",
338
339     // Initialisation
340     failure RAM_ALLOC_SET          "Failure in ram_alloc_set()",
341     failure MORECORE_INIT          "Failure in morecore_init()",
342     failure MONITOR_CLIENT_INIT    "Failure in monitor_client_init",
343     failure MONITOR_CLIENT_CONNECT "Failure in monitor_client_connect",
344     failure TERMINAL_INIT          "Failure in terminal_init()",
345     failure DOMAIN_INIT            "Failure in domain_init()",
346     failure GET_MON_BLOCKING_IREF  "Error while retrieving monitor's blocking channel service IREF from monitor",
347     failure GET_MEM_IREF           "Failure sending memory iref request",
348     failure GET_NAME_IREF          "Error while retrieving name service IREF from monitor",
349     failure GET_RAMFS_IREF         "Error while retrieving ramfsd service IREF from monitor",
350     failure NAMESERVICE_CLIENT_INIT "Failure initialising nameservice client",
351
352     // Threads package
353     failure THREAD_CREATE       "A version of thread create failed",
354     failure THREAD_JOIN         "Joining more than once not allowed",
355     failure THREAD_JOIN_DETACHED        "Tried to join with a detached thread",
356     failure THREAD_DETACHED     "Thread is already detached",
357
358     // Waitset/event code
359     failure CHAN_ALREADY_REGISTERED "Attempt to register for an event on a channel which is already registered",
360     failure CHAN_NOT_REGISTERED    "Channel is not registered with a waitset",
361     failure WAITSET_IN_USE         "Waitset has pending events or blocked threads",
362     failure WAITSET_CHAN_CANCEL    "Error in waitset_chan_cancel()",
363     failure NO_EVENT               "Nothing pending in check_for_event()",
364     failure EVENT_DISPATCH         "Error in event_dispatch()",
365     failure EVENT_ALREADY_RUN      "Error in event_queue_cancel(): event has already been run",
366     failure EVENT_QUEUE_EMPTY      "Error in event_queue_trigger(): queue is empty",
367
368     // LDT management on x86
369     failure SEGBASE_OVER_4G_LIMIT  "Segment base address is above 32-bit boundary",
370     failure LDT_FULL               "LDT is out of space",
371     failure LDT_SELECTOR_INVALID   "Segment selector is invalid for LDT",
372 };
373
374 // errors in Flounder-generated bindings
375 errors flounder FLOUNDER_ERR_ {
376     failure INVALID_STATE       "Invalid/corrupt state in binding structure",
377     failure TX_BUSY             "Cannot queue message for transmit: queue is full",
378     failure RX_EMPTY_MSG        "Incoming message invalid: empty payload",
379     failure RX_INVALID_MSGNUM   "Incoming message invalid: unknown message code",
380     failure RX_INVALID_LENGTH   "Incoming message has invalid length",
381     failure BUF_RECV_MORE       "(internal) incomplete buffer received; call again for more",
382     failure BUF_SEND_MORE       "(internal) incomplete buffer sent; call again to send more",
383     failure GENERIC_BIND_NO_MORE_DRIVERS "Generic bind() call failed after trying all enabled interconnect drivers",
384     failure CHANGE_WAITSET      "Error in change_waitset() call",
385     failure CHANGE_MONITOR_WAITSET "Error changing waitset on underlying monitor binding",
386     failure UMP_ALLOC_NOTIFY    "Error while allocating notify cap/state for UMP",
387     failure UMP_STORE_NOTIFY    "Error while storing notify cap for UMP",
388
389     failure BIND                  "Error in flounder generated bind call",
390
391     // XXX: errors from old flounder stubs, to be removed
392     failure CREATE_MSG          "Flounder marshalling code failed: create_msg() returned NULL", // FIXME
393     failure MARSHALLING         "Error while marshalling",
394     failure DEMARSHALLING       "Error while demarshalling",
395     failure RPC_MISMATCH        "RPC response not matching the call",
396
397 };
398
399 // errors generated by chips name service
400 errors chips CHIPS_ERR_ {
401     failure GET_SERVICE_REFERENCE "Error getting service reference from name service",
402     failure GET_SERVICE_IREF      "Error getting IREF from name service",
403     failure UNKNOWN_NAME          "Lookup failed: unknown name",
404     failure EXISTS                "Entry already exists",
405     failure GET_CAP               "Error getting a capability from store",
406     failure PUT_CAP               "Error putting a capability to store",
407     failure REMOVE_CAP            "Error removing a capability from store",
408     failure OUT_OF_SEMAPHORES     "Out of semaphores",
409 };
410
411 // errors generated by bcast library
412 errors bcast BCAST_ERR_ {
413     failure SEND      "Failure in bcast_send function",
414     failure SEND_SSF  "Failure in trying to send ssf msg",
415 };
416
417 // errors generated in the monitor-client protocol
418 errors mon_client MON_CLIENT_ERR_ {
419     failure SPAN_DOMAIN_REQUEST   "Error sending span_domain_request msg",
420     failure URPC_BLOCK            "Error sending urpc_block msg",
421 };
422
423 // errors generated by the Monitor
424 errors monitor MON_ERR_ {
425     failure IDC_BIND_NOT_SAME_CORE "Cannot perform IDC bind call: IREF is on another core",
426     failure INVALID_CORE_ID     "Core ID is invalid (out of range)",
427     failure INVALID_IREF        "Invalid IREF for bind call",
428     failure IREF_ALLOC          "Cannot allocate IREF, table full",
429     failure SPAN_STATE_ALLOC    "Failed to allocate span state",
430     failure SEND_REMOTE_MSG     "Sending message to remote core failed",
431     failure INVALID_MON_ID      "Monitor ID in message is invalid",
432     failure NO_MONITOR_FOR_CORE "No monitor loaded on this core ID",
433     failure CAP_IDENTIFY        "Error in cap_identify",
434     failure CAP_CREATE          "Failure creating new capability",
435     failure CAP_REMOTE          "Failure in remote cap operation",
436     failure RCAP_DB_NOT_FOUND   "Cannot find cap in remote cap db",
437     failure RCAP_DB_LOCK        "Error gaining lock in remote cap db",
438     failure RCAP_DB_UNLOCK      "Error unlocking cap in remote cap db",
439     failure RCAP_DB_ADD         "Error adding cap to remote cap db",
440     failure SAME_CORE           "Cannot perform operation on same core as caller",
441     failure REMOTE_CAP_NEED_REVOKE  "Cap has descendants on another core, cannot be retyped",
442     failure REMOTE_CAP_RETRY    "Remote Cap operation failed but retry",
443     failure SPAWN_CORE          "Failure spawning a new core",
444     failure SPAWN_DOMAIN        "Failure in trying to spawn a domain",
445     failure INTERN_NEW_MONITOR  "Error in intern_new_monitor()",
446     failure CAP_SEND            "Permanent error sending cap for URPC channel",
447     failure CAP_SEND_TRANSIENT  "Transient error sending cap for URPC channel",
448     failure ROUTE_SET           "Sending route set msg failed",
449     failure SPAN_DOMAIN         "span_domain failed",
450     failure MAP_URPC_CHAN       "failure while mapping in URPC channel state",
451     failure RAM_ALLOC_ERR       "failure in ram_alloc, err failed",
452     failure RAM_ALLOC_RETERR    "failure in ram_alloc, reterr failed",
453     failure MULTICAST_PAGE_MAP  "Could not map the multicast page in monitor",
454     failure WRONG_CAP_TYPE      "Cap of not expected type",
455     failure INTERN_SET          "Failure in intern_set",
456     failure ROUTE_RESET         "Failure in sending route reset msg",
457     failure MAP_MULTIBOOT       "Failure in trying to map multiboot image",
458     failure UNICAST_SET         "Failure in unicast_set()",
459     failure MULTICAST_SET       "Failure in multicast_set()",
460     failure BCAST_INIT          "Failure in bcast_init()",
461     failure BCAST_CONNECT       "Failure in bcast_connect()",
462     failure CCAST_INIT          "Failure in ccast_init()",
463     failure CCAST_CONNECT       "Failure in ccast_connect()",
464     failure UNICAST_CONNECT     "Failure in connecting unicast path",
465     failure MULTICAST_CONNECT   "Failure in connecting multicast path",
466     failure UNICAST_INIT        "Failure in initing unicast path",
467     failure MULTICAST_INIT      "Failure in initing multicast path",
468     failure SPAWN_XCORE_MONITOR "Failure in spawn_xcore_monitor()",
469     failure INCOMPLETE_ROUTE    "(Portion of) routing table not present",
470
471     // Resource controller
472     failure RSRC_ALLOC          "Out of resource domains",
473     failure RSRC_MEMBER_LIMIT   "Reached member limit of resource domain",
474     failure RSRC_ILL_MANIFEST   "Illegal manifest",
475     failure RSRC_NOT_FOUND      "Resource domain not found on this core",
476 };
477
478 // errors related to the routing library
479 errors routing ROUTE_ERR_ {
480     // These are for the old routing library, remove them when old lib is removed
481     failure NEW_ROUTE           "Failure in creating a new route",
482     failure EXPORT              "Failure in exporting new route",
483     failure LOOKUP              "Failure in looking up new route",
484     failure BIND                "Failure in binding with route",
485     failure CORE_NOT_FOUND      "Core not found in unicast send",
486     failure SET_EXPECTED        "Failure in using the set expected function",
487     failure SEND                "Failure in using the send function",
488     failure NO_SLOTS            "Convergecast route ran out of slots to hold records",
489
490     // These are for the new routing library
491     failure WRONG_GROUP_ID      "Group id not found",
492     failure CALL_INIT           "Call route_init before using this",
493     failure CREATE_GROUP_RPC    "Error in using the create_group rpc",
494     failure SET_GROUP_RPC       "Error in using the set_group rpc",
495     failure GET_GROUP_RPC       "Error in using the get_group rpc",
496     failure ALLOC_NID_RPC       "Error in using the alloc_nid rpc",
497 };
498
499 // errors related to spawn code
500 errors spawn SPAWN_ERR_ {
501     failure LOAD                "Failure while loading",
502     failure SPAN                "Failure while spanning",
503     failure RUN                 "Failure while making dispatcher runnable",
504     failure VSPACE_MAP          "Nested failure in spawn_vspace_map",
505     failure GET_CMDLINE_ARGS    "Failure in get_cmdline_args",
506     failure SETUP_ENV           "Failure in spawn_setup_env",
507     failure UNKNOWN_TARGET_ARCH "Unknown target architecture type",
508     failure UNSUPPORTED_TARGET_ARCH      "Unsupported target architecture type",
509
510     failure SETUP_CSPACE        "Failure in spawn_setup_cspace",
511     failure DETERMINE_CPUTYPE   "Failure in spawn_determine_cputype",
512     failure VSPACE_INIT         "Failure in spawn_vspace_init",
513     failure SETUP_DISPATCHER    "Failure in spawn_setup_dispatcher",
514     failure ELF_MAP             "Failure in spawn_elf_map",
515
516     failure SET_CAPS            "Failure in set_special_caps",
517     failure MONITOR_CLIENT      "Failure in monitor_client_setup",
518     failure FREE                "Failure in spawn_free",
519
520     // spawn_cspace
521     failure CREATE_ROOTCN       "Failure creating root CNode",
522     failure CREATE_TASKCN       "Failure creating task CNode",
523     failure MINT_TASKCN         "Failure minting task CNode into root CNode",
524     failure CREATE_PAGECN       "Failure creating page CNode",
525     failure CREATE_VNODE        "Failure creating top-level VNode",
526     failure COPY_VNODE          "Failure copying top-level VNode from existing domain",
527     failure CREATE_DISPATCHER   "Failure creating DCB",
528     failure CREATE_DISPATCHER_FRAME "Failure creating dispatcher frame",
529     failure CREATE_SELFEP       "Failure creating endpoint to self",
530     failure CREATE_ARGSPG       "Failure creating page for arguments",
531     failure CREATE_FDSPG        "Failure creating page for file descriptors",
532     failure COPY_FDCAP          "Failure copying frame cap for file descriptors",
533     failure MINT_ROOTCN         "Failure minting root CNode into task CNode",
534     failure CREATE_SLOTALLOC_CNODE "Failure creating slot_alloc cnode",
535
536     // setup_vspace
537     failure MAP_DISPATCHER_TO_NEW "Failure mapping dispatcher frame to new domain",
538     failure MAP_DISPATCHER_TO_SELF "Failure mapping dispatcher frame to parent",
539     failure MAP_ARGSPG_TO_NEW   "Failure mapping arguments page to new domain",
540     failure MAP_ARGSPG_TO_SELF  "Failure mapping arguments page to parent",
541     failure MAP_FDSPG_TO_NEW   "Failure mapping file descriptors page to new domain",
542     failure MAP_FDSPG_TO_SELF  "Failure mapping file descriptors page to parent",
543
544     failure FILL_SMALLCN        "Failure filling smallcn of new domain",
545     failure MAP_BOOTINFO        "Failure mapping bootinfo to new domain",
546     failure FIND_MODULE         "Didn't find module to be spawned",
547     failure MAP_MODULE          "Failed mapping in module",
548     failure CREATE_SEGCN        "Failed to create segment CNode",
549     failure CREATE_SMALLCN      "Failed to create small RAM caps CNode",
550
551     // setup env
552     failure ARGSPG_OVERFLOW     "Overflow in arguments page: too many arguments or environment variables",
553     failure SERIALISE_VSPACE    "Error in serialising vspace data",
554
555     // setup inherited caps
556     failure SETUP_INHERITED_CAPS "Failure setup inherited caps",
557
558     // setup argument caps
559     failure SETUP_ARGCN          "Failure setup CNode containing caps passed as arguments",
560     failure COPY_ARGCN           "Error copying CNode containing caps passed as arguments",
561
562     // setup file descriptors
563     failure SETUP_FDCAP         "Failure setting up frame for copying file descriptors",
564     failure FDSPG_OVERFLOW     "Overflow in file descriptors page: too many file descriptors",
565
566     // setup session id cap
567     failure SETUP_SIDCAP        "Failure setting up session capability",
568     failure COPY_SIDCAP         "Failure copying session id capability",
569
570     // spawn_free
571     failure DELETE_ROOTCN       "Failure deleting root CNode cap in parent",
572     failure FREE_ROOTCN         "Failure freeing slot for root CNode cap in parent",
573     failure DELETE_TASKCN       "Failure deleting task CNode cap in parent",
574     failure FREE_TASKCN         "Failure freeing slot for task CNode cap in parent",
575
576     failure COPY_PACN           "Error copying phys addr CNode cap",
577     failure COPY_MODULECN       "Error copying module CNode cap",
578     failure COPY_IRQ_CAP        "Error copying IRQ cap",
579     failure COPY_IO_CAP         "Error copying IO cap",
580     failure COPY_PERF_MON       "Error copying performance monitoring cap",
581
582     // make_runnable
583     failure DISPATCHER_SETUP    "Dispatcher setup",
584
585     // domain management
586     failure DOMAIN_ALLOCATE     "No more domain descriptors",
587     failure DOMAIN_NOTFOUND     "Domain not found",
588     failure DOMAIN_RUNNING      "Domain is running",
589 };
590
591 // errors from ELF library
592 errors libelf ELF_ERR_ {
593     failure FILESZ              "Invalid file size",
594     failure HEADER              "Incompatible ELF header",
595     failure PROGHDR             "Failed program header sanity checks",
596     failure ALLOCATE            "Nested failure in allocator function",
597     failure NOT_PAGE_ALIGNED    "Unaligned load address specified in ELF header",
598 };
599
600 // errors from memory management library
601 errors libmm MM_ERR_ {
602     failure FIND_NODE           "Failure in find_node()",
603     failure CHUNK_NODE          "Failure in chunk_node()",
604     failure SLOT_MM_ALLOC       "Nested failure in slot allocator calling mm_alloc",
605     failure SLOT_NOSLOTS        "Slot allocator has run out of slots",
606     failure SLOT_ALLOC_INIT     "Failure initialising slot allocator",
607     failure MM_INIT             "Failure in mm_init()",
608     failure MM_ADD              "Failure in mm_add()",
609     failure MM_FREE             "Failure in mm_free()",
610     failure NEW_NODE            "Failed allocating new node from slot allocator",
611     failure OUT_OF_BOUNDS       "Given memory base address / size exceeds bounds of allocator",
612     failure ALREADY_PRESENT     "Node already present in add_node()",
613     failure ALREADY_ALLOCATED   "Requested node already allocated in find_node()",
614     failure NOT_FOUND           "No matching node found",
615     failure MISSING_CAPS        "Region exists in allocator, but intermediate caps are missing",
616     failure CHUNK_SLOT_ALLOC    "Failure allocating slots for chunking",
617     failure RESIZE_NODE         "Nested failure in resize_node()",
618     failure REALLOC_RANGE       "Nested failure in realloc_range()",
619 };
620
621 // errors in init
622 errors init INIT_ERR_ {
623     failure SPAWN_MEM_SERV      "Failed to spawn mem_serv",
624     failure INIT_MEM_SERV       "Failed to initialise mem_serv",
625     failure SPAWN_MONITOR       "Failed to spawn monitor",
626     failure INIT_MONITOR        "Failed to init monitor",
627     failure COPY_EP_TO_MEM_SERV "Failed copying EP to mem_serv",
628     failure COPY_EP_TO_MONITOR  "Failed copying EP to monitor",
629     failure SETUP_MONITOR_CHAN  "Failed setting up channel to monitor",
630     failure SETUP_MEM_SERV_CHAN "Failed setting up channel to mem_serv",
631     failure RUN_MONITOR         "Failed to make monitor runnable",
632     failure RUN_MEM_SERV        "Failed to make mem_serv runnable",
633     failure FREE_MONITOR        "Failed to free spawn caps from monitor",
634     failure FREE_MEM_SERV       "Failed to free spawn caps from mem_serv",
635     failure COPY_SUPERCN_CAP    "Failed to copy superCN cap to mem_serv",
636     failure MAP_BOOTINFO        "Failed to map bootinfo to child",
637     failure COPY_KERNEL_CAP     "Failed to copy kernel cap to monitor",
638     failure COPY_PERF_MON       "Failed to copy performance monitoring cap to monitor",
639     failure COPY_MODULECN_CAP   "Failed to copy module CNode cap to monitor",
640     failure COPY_PACN_CAP       "Failed to copy phys addr CNode cap to monitor",
641     failure COPY_IRQ_CAP        "Failed to copy IRQ cap to monitor",
642     failure COPY_IO_CAP         "Failed to copy IO cap to monitor",
643     failure COPY_UMP_CAP        "Failed to copy UMP cap to monitor",
644     failure NO_MATCHING_RAM_CAP "No suitably-sized RAM cap found when initialising local memory allocator",
645 };
646
647 //errors in continuation management
648 errors filter CONT_ERR_ {
649     failure NO_MORE_SLOTS        "No free slots available",
650 };
651
652
653
654 //errors in ethersrv
655 errors ethersrv ETHERSRV_ERR_ {
656     failure TOO_MANY_BUFFERS    "ethersrv failed to allocate a new buffer descriptor in register_buffer",
657     failure TOO_MANY_VNICS      "MAX_VNICS reached, can't create more VNICS",
658     failure BUFFER_NOT_FOUND    "ethersrv did not find the buff given filter reg",
659     failure NOT_ENOUGH_MEM      "not enough internal memory with driver",
660     failure CANT_TRANSMIT       "Cant transmit the packet",
661     failure INVALID_STATE       "VNIC is in invalid state for current operation",
662     failure FRAME_CAP_MAP       "Cant map the frame cap in address space",
663 };
664
665
666 //errors in port management
667 errors filter PORT_ERR_ {
668     failure NOT_ENOUGH_MEMORY   "Not enough memory for internals of port mng",
669     failure NO_MORE_PORT        "No free port available",
670     failure IN_USE              "Requested port is already in use",
671     failure REDIRECT            "Requested port cannot be redirected",
672     failure NOT_FOUND            "Could not find requested port to close",
673 };
674
675
676
677
678 //errors in Filter management
679 errors filter FILTER_ERR_ {
680     failure NOT_ENOUGH_MEMORY   "Not enough memory to register filters",
681     failure BUFF_NOT_FOUND      "Buffer given for filter reg. not found on driver",
682     failure FILTER_BUSY         "Filter memory is busy in another operation.Try Again",
683     failure NO_NETD_MEM         "Netd memory for filter is not registered",
684     failure FILTER_NOT_FOUND    "requested filter for de/re-registration not found",
685     failure BUFFER_NOT_FOUND    "requested filter for re-registration not found",
686
687 };
688
689 // errors generated in the terminal library
690 errors term TERM_ERR_ {
691     failure TERMINAL_IN_USE             "Can not associate session with terminal, the terminal is already in use",
692     failure NOT_PART_OF_SESSION         "Domain is not part of a session",
693     failure EXPORT_SESSION_INTERFACE    "Failed to export terminal session interface",
694     failure REGISTER_SESSION_INTERFACE  "Failed to register terminal session interface at nameservice",
695     failure EXPORT_OUT_INTERFACE        "Failed to export terminal interface for outgoing characters",
696     failure EXPORT_IN_INTERFACE         "Failed to export terminal interface for incoming characters",
697     failure EXPORT_CONF_INTERFACE       "Failed to export terminal configuration interface for configuration messages",
698     failure ASSOCIATE_WITH_TERM_REPLY   "Failed to send session_associate_with_terminal_reply",
699     failure RECV_CHARS                  "Received characters at outgoing characters interface",
700     failure SEND_CHARS                  "Could not send characters to client",
701     failure RECV_CONFIGURATION          "Received a configuration message a the client",
702     failure FILTER_NOT_FOUND            "Could not find filter specified for removal",
703     failure TRIGGER_NOT_FOUND           "Could not find trigger specified for removal",
704     failure LOOKUP_SESSION_RECORD       "Error looking up session record at octopus",
705     failure PARSE_SESSION_RECORD        "Error parsing session record",
706     failure BIND_IN_INTERFACE           "Failed to bind to terminal interface for incoming characters",
707     failure BIND_OUT_INTERFACE          "Failed to bind to terminal interface for outgoing characters",
708     failure BIND_CONF_INTERFACE         "Failed to bind to terminal configuration interface",
709     failure IO                          "Terminal I/O error",
710     failure TX_BUSY                     "Failed to send message, terminal client is busy",
711     failure UNKNOWN_CONFIG_OPT          "Unknown configuration option",
712     failure CHANGE_WAITSET              "Failed to change the waitset",
713 };
714
715 // errors generated by libangler
716 errors angler ANGLER_ERR_ {
717     failure LOOKUP_TERMINAL         "Error looking up iref of terminal session interface at nameservice",
718     failure CREATE_SESSIONID        "Error creating ID capability used to represent session",
719     failure BIND_TERMINAL           "Error binding to terminal session interface",
720     failure INIT_RPCCLIENT          "Error initializing rpc client for terminal session interface",
721     failure ASSOCIATE_WITH_TERMINAL "Error associating session with terminal",
722     failure STORE_SESSION_STATE     "Error storing session state at ocotpus",
723 };
724
725 // errors in trace
726 errors trace TRACE_ERR_ {
727     failure NO_BUFFER           "Trace buffer does not exist",
728     failure MAP_BUF             "Failed to map trace buffer",
729     failure CREATE_CAP          "Failed to create trace buffer cap",
730     failure CAP_COPY            "Failed to copy trace buffer cap",
731     failure KERNEL_INVOKE       "Failed to set up tracing in kernel",
732 };
733
734 errors driverkit DRIVERKIT_ {
735     failure NO_CAP_FOUND       "No capability to map this address range.",
736 };
737
738 // errors in PCI/device handling
739 errors pci PCI_ERR_ {
740     failure IOAPIC_INIT         "Failed in ioapic_init()",
741     failure MINT_IOCAP          "Failed to mint IO cap",
742     failure ROUTING_IRQ         "Failed while routing interrupt",
743     failure IRQTABLE_SET        "Failed to set handler on local IRQ table",
744     failure UNKNOWN_GSI         "Unknown global system interrupt number",
745     failure INVALID_VECTOR      "Invalid interrupt vector",
746     failure DEVICE_INIT         "Could not initialize device",
747     failure MEM_ALLOC           "Could not allocate memory",
748     failure WRONG_INDEX         "Invalid index for requested cap",
749     failure MSIX_NOTSUP         "MSI-X is not sypported by the device",
750     failure MSIX_BADVECTOR      "Invalid index for MSI-X vector",
751     failure MSIX_DISABLED       "MSI-X is not enabled for this device",
752 };
753
754 // errors in ACPI
755 errors acpi ACPI_ERR_ {
756     failure NO_MCFG_TABLE       "No MCFG Table found.",
757     failure INVALID_PATH_NAME   "Invalid ACPI path name.",
758     failure GET_RESOURCES       "Failed to execute _CRT method.",
759     failure SET_IRQ             "Failed to set IRQ for device.",
760     failure NO_MADT_TABLE       "No APIC found in ACPI.",
761 };
762
763 // errors in the SKB
764 errors skb SKB_ERR_ {
765     failure CONVERSION_ERROR    "Conversion (parsing) of the result failed.",
766     failure EXECUTION           "The SKB returned an error Check error code.",
767     failure EVALUATE            "Failure in skb_evalute()",
768     failure RUN                 "Failure in running rpc: run",
769     failure GOAL_FAILURE        "Posted goal could not be satisfied.",
770     failure UNEXPECTED_OUTPUT   "Query produced output but none was expected.",
771     success IO_OUTPUT           "Read I/O Output from SKB.",
772 };
773
774 // errors in a file system implementation
775 errors fs FS_ERR_ {
776     failure INVALID_FH          "The given file handle is invalid or has expired",
777     failure NOTDIR              "The given file handle is not a directory",
778     failure NOTFILE             "The given file handle is not a file",
779     failure INDEX_BOUNDS        "The given directory index is out of bounds",
780     failure NOTFOUND            "The given name does not exist",
781     failure EXISTS              "The given name already exists",
782     failure NOTEMPTY            "The given directory is not empty",
783
784     failure BULK_NOT_INIT       "The bulk transfer mode has not been initialised",
785     failure BULK_ALREADY_INIT   "The bulk_init() call may only be made once per connection",
786 };
787
788 // errors in the vfs library
789 errors vfs VFS_ERR_ {
790     success EOF                 "End of file",
791     failure BAD_MOUNTPOINT      "The mountpoint is invalid",
792     failure MOUNTPOINT_IN_USE   "The given mountpoint is already in use",
793     failure BAD_URI             "The URI given to mount is invalid",
794     failure UNKNOWN_FILESYSTEM  "The filesystem type in the URI is unknown",
795     failure MOUNTPOINT_NOTFOUND "The given mountpoint doesn't exist",
796     failure NOT_SUPPORTED       "The file type does not support this operation",
797
798     failure IN_OPEN             "Nested error in vfs_open()",
799     failure IN_STAT             "Nested error in vfs_stat()",
800     failure IN_READ             "Nested error in vfs_read()",
801
802     failure BCACHE_LIMIT        "Number of buffer cache connections exceeded",
803 };
804
805 // NFS client errors
806 // FIXME: someone could copy in the real error strings...
807 errors nfs NFS_ERR_ {
808     /* transport error */
809     failure TRANSPORT "Unknown error in underlying NFS RPC transport.",
810
811     /* mount errors */
812     failure MNT_PERM "Not owner",
813     failure MNT_NOENT "No such file or directory",
814     failure MNT_IO "I/O error",
815     failure MNT_ACCES "Permission denied",
816     failure MNT_NOTDIR "Not a directory",
817     failure MNT_INVAL "Invalid argument",
818     failure MNT_NAMETOOLONG "Filename too long",
819     failure MNT_NOTSUPP "Operation not supported",
820     failure MNT_SERVERFAULT "A failure on the server",
821
822     /* NFSv3 errors */
823     failure PERM "NFS error (PERM). See RFC1813.",
824     failure NOENT "NFS error (NOENT). See RFC1813.",
825     failure IO "NFS error (IO). See RFC1813.",
826     failure NXIO "NFS error (NXIO). See RFC1813.",
827     failure ACCES "NFS error (ACCES). See RFC1813.",
828     failure EXIST "NFS error (EXIST). See RFC1813.",
829     failure XDEV "NFS error (XDEV). See RFC1813.",
830     failure NODEV "NFS error (NODEV). See RFC1813.",
831     failure NOTDIR "NFS error (NOTDIR). See RFC1813.",
832     failure ISDIR "NFS error (ISDIR). See RFC1813.",
833     failure INVAL "NFS error (INVAL). See RFC1813.",
834     failure FBIG "NFS error (FBIG). See RFC1813.",
835     failure NOSPC "NFS error (NOSPC). See RFC1813.",
836     failure ROFS "NFS error (ROFS). See RFC1813.",
837     failure MLINK "NFS error (MLINK). See RFC1813.",
838     failure NAMETOOLONG "NFS error (NAMETOOLONG). See RFC1813.",
839     failure NOTEMPTY "NFS error (NOTEMPTY). See RFC1813.",
840     failure DQUOT "NFS error (DQUOT). See RFC1813.",
841     failure STALE "NFS error (STALE). See RFC1813.",
842     failure REMOTE "NFS error (REMOTE). See RFC1813.",
843     failure BADHANDLE "NFS error (BADHANDLE). See RFC1813.",
844     failure NOT_SYNC "NFS error (NOT_SYNC). See RFC1813.",
845     failure BAD_COOKIE "NFS error (BAD_COOKIE). See RFC1813.",
846     failure NOTSUPP "NFS error (NOTSUPP). See RFC1813.",
847     failure TOOSMALL "NFS error (TOOSMALL). See RFC1813.",
848     failure SERVERFAULT "NFS error (SERVERFAULT). See RFC1813.",
849     failure BADTYPE "NFS error (BADTYPE). See RFC1813.",
850     failure JUKEBOX "NFS error (JUKEBOX). See RFC1813.",
851 };
852
853 // LWIP errors
854 errors lwip LWIP_ERR_ {
855     failure MEM          "Out of memory error.",
856     failure BUF          "Buffer error.",
857     failure TIMEOUT      "Timeout.",
858     failure RTE          "Routing problem.",
859     failure ABRT         "Connection aborted.",
860     failure RST          "Connection reset.",
861     failure CLSD         "Connection closed.",
862     failure CONN         "Not connected.",
863     failure VAL          "Illegal value.",
864     failure ARG          "Illegal argument.",
865     failure USE          "Address in use.",
866     failure IF           "Low-level netif error",
867     failure ISCONN       "Already connected.",
868     failure INPROGRESS   "Operation in progress",
869     failure TXFULL       "TX capacity is full, try again later",
870 };
871
872 // DIST library errors
873 errors dist DIST_ERR_ {
874      failure NS_REG      "Name service register failed.",
875      failure NS_LOOKUP   "Name service lookup failed.",
876 };
877
878 // octopus library errors
879 errors octopus  OCT_ERR_ {
880     failure NO_RECORD           "No record exists matching the specified query.",
881     failure NO_RECORD_NAME      "Your query needs to specify a designated record name (no regex/variable allowed).",
882     failure CONSTRAINT_MISMATCH "The constraints you specified on set do not match the record in the database.",
883     failure QUERY_SIZE          "Query is too big. Try to increase MAX_QUERY_LENGTH.",
884     failure INVALID_FORMAT      "The read format you have specified is not valid.",
885     failure UNKNOWN_ATTRIBUTE   "An attribute in your format was not found in the record.",
886     failure UNSUPPORTED_BINDING "This binding is unsupported by the underlying implementation.",
887     failure PARSER_FAIL         "Record parser encountered syntax error.",
888     failure ENGINE_FAIL         "Database error during query execution.",
889     failure NO_SUBSCRIPTION     "No subscription found matching the query.",
890     failure NO_SUBSCRIBERS      "No subscription found matching the query.",
891     failure MAX_SUBSCRIPTIONS   "Failed to register subscription. Try to increase MAX_SUBSCRIPTIONS.",
892     failure INVALID_ID          "Invalid Trigger ID.",
893     failure CAP_NAME_UNKNOWN    "Capability storage: Unknown name.",
894     failure CAP_OVERWRITE       "Capability storage: Cap already exists.",
895     failure IDCAP_INVOKE        "Error invoking ID capability.",
896 };
897
898 // kaluga library errors
899 errors kaluga  KALUGA_ERR_ {
900     failure PARSE_MODULES          "Cannot parse menu.lst.",
901     failure MODULE_NOT_FOUND       "Boot module not found.",
902     failure DRIVER_ALREADY_STARTED "Driver for this type of device is already running.",
903     failure DRIVER_NOT_AUTO        "Driver not declared as auto in menu.lst.",
904 };
905
906 // errors generated by THC
907 errors thc THC_ {
908     failure CANCELED            "Operation canceled",
909 };
910
911 // errors generated by memory server
912 errors ms MS_ERR_ {
913     failure SKB                 "Invalid data from SKB",
914     failure INIT_PEERS          "Could not initialise peer data structures",
915 };
916
917 // errors generated by startd
918 errors startd STARTD_ERR_ {
919     failure BOOTMODULES         "Invalid bootmodules file",
920 };
921
922 errors lox LOX_ERR_ {
923     failure INIT_LOCKS          "Failure initialising locks",
924     failure NO_LOCKS            "No more locks available",
925 };
926
927 // errors generated by VBE framebuffer driver
928 errors vbe VBE_ERR_ {
929     failure MODE_NOT_FOUND      "Unknown/unsupported video mode requested",
930     failure BIOS_CALL_FAILED    "Unknown error returned from VBE BIOS call",
931 };
932
933 // errors generated by ahcid and libahci
934 errors ahcid AHCI_ERR_ {
935     failure PORT_INVALID        "Provided port id is not valid",
936     failure PORT_BUSY           "Port has been opened elsewhere",
937     failure PORT_MISMATCH       "Port is not opened by client",
938     failure NO_FREE_PRD         "No free PRD left for user data",
939     failure ILLEGAL_ARGUMENT    "Illegal argument in call",
940 };
941
942 errors sata SATA_ERR_ {
943     failure INVALID_TYPE        "Unknown FIS type or invalid/unimplemented field for type",
944 };
945
946 errors mmchs MMC_ERR_ {
947     failure TRANSFER                "Error during card read/write operation.",
948     FAILURE READ_READY              "Card not ready for reading.",
949     FAILURE WRITE_READY             "Card not ready for writing.",
950 };
951
952 // errors generated by FAT
953 errors fat FAT_ERR_ {
954     failure BAD_FS              "Filesystem does not look like FAT, or is an unsupported kind of FAT",
955 };
956
957 // errors generated by VFS's fs cache library
958 errors cache FS_CACHE_ {
959     failure FULL                "Cache is full",
960     failure NOTPRESENT          "Requested key is not in cache",
961     failure CONFLICT            "Cache already contains an item with the requested key",
962 };
963
964 // errors generated by OMAP SDMA driver
965 errors omap_sdma OMAP_SDMA_ERR_ {
966     failure NO_AVAIL_CHANNEL                "All channels are currently allocated",
967     failure TRANSACTION                     "Memory Transaction error occured",
968     failure SUPERVISOR                      "Supvervisor transaction error occured",
969     failure MISALIGNED_ADDRESS              "Transfer addresses were misaligned",
970     failure HARDWARE_LIMIT_SIZE             "Transfer size values too large for hardware",
971     failure HARDWARE_LIMIT_ADDR             "Transfer address modifier values too large for hardware",
972     failure OUT_OF_BOUNDS                   "Transfer access outside frame cap boundaries",
973     failure CAP_LOOKUP                      "Failure during frame capability lookup",
974 };
975
976 // common/generic errors
977 errors common ERR_ {
978     failure NOTIMP              "Not implemented",
979 };