Changes in / [d57e08f:bbddafb] in mainline
- Files:
-
- 12 added
- 4 deleted
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
contrib/arch/hadlbppp.py
rd57e08f rbbddafb 36 36 INC, POST_INC, BLOCK_COMMENT, LINE_COMMENT, SYSTEM, ARCH, HEAD, BODY, NULL, \ 37 37 INST, VAR, FIN, BIND, TO, SUBSUME, DELEGATE, IFACE, EXTENDS, PRE_BODY, \ 38 PROTOTYPE, PAR_LEFT, PAR_RIGHT, SIGNATURE, PROTOCOL, INITIALIZATION, \39 FINALIZATION, FRAME, PROVIDES, REQUIRES = range(29)38 PROTOTYPE, PAR_LEFT, PAR_RIGHT, SIGNATURE, PROTOCOL, FRAME, PROVIDES, \ 39 REQUIRES = range(27) 40 40 41 41 def usage(prname): 42 42 "Print usage syntax" 43 43 44 print "%s < --dumpbp|--dumpadl|--noop>+ <OUTPUT>" % prname44 print "%s <OUTPUT>" % prname 45 45 46 46 def tabs(cnt): … … 246 246 "Convert interface Behavior Protocol to generic protocol" 247 247 248 result = [ ]248 result = ["("] 249 249 i = 0 250 250 … … 266 266 i += 1 267 267 268 result.append(")") 269 result.append("*") 270 268 271 return result 269 272 270 def merge_bp( initialization, finalization,protocols):273 def merge_bp(protocols): 271 274 "Merge several Behavior Protocols" 272 275 273 indep = []274 275 276 if (len(protocols) > 1): 277 result = [] 276 278 first = True 277 279 … … 280 282 first = False 281 283 else: 282 indep.append("|") 283 284 indep.append("(") 285 indep.extend(protocol) 286 indep.append(")") 287 elif (len(protocols) == 1): 288 indep = protocols[0] 289 290 inited = [] 291 292 if (initialization != None): 293 if (len(indep) > 0): 294 inited.append("(") 295 inited.extend(initialization) 296 inited.append(")") 297 inited.append(";") 298 inited.append("(") 299 inited.extend(indep) 300 inited.append(")") 301 else: 302 inited = initialization 303 else: 304 inited = indep 305 306 finited = [] 307 308 if (finalization != None): 309 if (len(inited) > 0): 310 finited.append("(") 311 finited.extend(inited) 312 finited.append(")") 313 finited.append(";") 314 finited.append("(") 315 finited.extend(finalization) 316 finited.append(")") 317 else: 318 finited = finalization 319 else: 320 finited = inited 321 322 return finited 284 result.append("|") 285 286 result.append("(") 287 result.extend(protocol) 288 result.append(")") 289 290 return result 291 292 if (len(protocols) == 1): 293 return protocols[0] 294 295 return [] 323 296 324 297 def parse_bp(name, tokens, base_indent): … … 400 373 "Dump Behavior Protocol of a given frame" 401 374 402 global opt_bp403 404 375 fname = "%s.bp" % frame['name'] 405 376 406 if (archf != None): 407 archf.write("instantiate %s from \"%s\"\n" % (var, fname)) 408 377 archf.write("instantiate %s from \"%s\"\n" % (var, fname)) 409 378 outname = os.path.join(outdir, fname) 410 379 … … 412 381 if ('protocol' in frame): 413 382 protocols.append(frame['protocol']) 414 415 if ('initialization' in frame):416 initialization = frame['initialization']417 else:418 initialization = None419 420 if ('finalization' in frame):421 finalization = frame['finalization']422 else:423 finalization = None424 383 425 384 if ('provides' in frame): … … 434 393 print "%s: Provided interface '%s' is undefined" % (frame['name'], provides['iface']) 435 394 436 437 if (opt_bp): 438 outf = file(outname, "w") 439 outf.write(parse_bp(outname, merge_bp(initialization, finalization, protocols), 0)) 440 outf.close() 395 outf = file(outname, "w") 396 outf.write(parse_bp(outname, merge_bp(protocols), 0)) 397 outf.close() 441 398 442 399 def get_system_arch(): … … 474 431 "Create null frame protocol" 475 432 476 global opt_bp 477 478 if (archf != None): 479 archf.write("frame \"%s\"\n" % fname) 480 433 archf.write("frame \"%s\"\n" % fname) 481 434 outname = os.path.join(outdir, fname) 482 435 483 if (opt_bp): 484 outf = file(outname, "w") 485 outf.write("NULL") 486 outf.close() 436 outf = file(outname, "w") 437 outf.write("NULL") 438 outf.close() 487 439 488 440 def flatten_binds(binds, delegates, subsumes): … … 569 521 "Dump system architecture Behavior Protocol" 570 522 571 global opt_bp572 573 523 arch = get_system_arch() 574 524 … … 612 562 break 613 563 614 615 564 outname = os.path.join(outdir, "%s.archbp" % arch['name']) 616 if (opt_bp): 617 outf = file(outname, "w") 618 else: 619 outf = None 565 outf = file(outname, "w") 620 566 621 567 create_null_bp("null.bp", outdir, outf) … … 627 573 628 574 for dst, src in directed_binds.items(): 629 if (outf != None): 630 outf.write("bind %s to %s\n" % (", ".join(src), dst)) 631 632 if (outf != None): 633 outf.close() 575 outf.write("bind %s to %s\n" % (", ".join(src), dst)) 576 577 outf.close() 634 578 635 579 def preproc_adl(raw, inarg): … … 647 591 global frame 648 592 global protocol 649 global initialization650 global finalization651 593 652 594 global iface_properties … … 747 689 748 690 if (BODY in context): 749 if (FINALIZATION in context):750 if (token == "{"):751 indent += 1752 elif (token == "}"):753 indent -= 1754 755 if (((token[-1] == ":") and (indent == 0)) or (indent == -1)):756 bp = split_bp(finalization)757 finalization = None758 759 if (not frame in frame_properties):760 frame_properties[frame] = {}761 762 if ('finalization' in frame_properties[frame]):763 print "%s: Finalization protocol for frame '%s' already defined" % (inname, frame)764 else:765 frame_properties[frame]['finalization'] = bp766 767 output += "\n%s" % tabs(2)768 output += parse_bp(inname, bp, 2)769 770 context.remove(FINALIZATION)771 if (indent == -1):772 output += "\n%s" % token773 context.remove(BODY)774 context.add(NULL)775 indent = 0776 continue777 else:778 indent = 2779 else:780 finalization += token781 continue782 783 if (INITIALIZATION in context):784 if (token == "{"):785 indent += 1786 elif (token == "}"):787 indent -= 1788 789 if (((token[-1] == ":") and (indent == 0)) or (indent == -1)):790 bp = split_bp(initialization)791 initialization = None792 793 if (not frame in frame_properties):794 frame_properties[frame] = {}795 796 if ('initialization' in frame_properties[frame]):797 print "%s: Initialization protocol for frame '%s' already defined" % (inname, frame)798 else:799 frame_properties[frame]['initialization'] = bp800 801 output += "\n%s" % tabs(2)802 output += parse_bp(inname, bp, 2)803 804 context.remove(INITIALIZATION)805 if (indent == -1):806 output += "\n%s" % token807 context.remove(BODY)808 context.add(NULL)809 indent = 0810 continue811 else:812 indent = 2813 else:814 initialization += token815 continue816 817 691 if (PROTOCOL in context): 818 692 if (token == "{"): … … 821 695 indent -= 1 822 696 823 if ( ((token[-1] == ":") and (indent == 0)) or (indent == -1)):697 if (indent == -1): 824 698 bp = split_bp(protocol) 825 699 protocol = None … … 835 709 output += "\n%s" % tabs(2) 836 710 output += parse_bp(inname, bp, 2) 711 output += "\n%s" % token 712 indent = 0 837 713 838 714 context.remove(PROTOCOL) 839 if (indent == -1): 840 output += "\n%s" % token 841 context.remove(BODY) 842 context.add(NULL) 843 indent = 0 844 continue 845 else: 846 indent = 2 715 context.remove(BODY) 716 context.add(NULL) 847 717 else: 848 718 protocol += token 849 continue 719 720 continue 850 721 851 722 if (REQUIRES in context): … … 945 816 output += "\n%s%s" % (tabs(indent - 1), token) 946 817 context.add(PROVIDES) 818 protocol = "" 947 819 continue 948 820 … … 950 822 output += "\n%s%s" % (tabs(indent - 1), token) 951 823 context.add(REQUIRES) 952 continue 953 954 if (token == "initialization:"): 955 output += "\n%s%s" % (tabs(indent - 1), token) 956 indent = 0 957 context.add(INITIALIZATION) 958 initialization = "" 959 continue 960 961 if (token == "finalization:"): 962 output += "\n%s%s" % (tabs(indent - 1), token) 963 indent = 0 964 context.add(FINALIZATION) 965 finalization = "" 824 protocol = "" 966 825 continue 967 826 … … 1153 1012 print "%s: Expected inherited interface name in interface head '%s'" % (inname, interface) 1154 1013 else: 1155 output += " %s" % token1014 output += " %s" % token 1156 1015 if (not interface in iface_properties): 1157 1016 iface_properties[interface] = {} … … 1164 1023 1165 1024 if (token == "extends"): 1166 output += " %s" % token1025 output += " %s" % token 1167 1026 context.add(EXTENDS) 1168 1027 continue … … 1517 1376 global frame 1518 1377 global protocol 1519 global initialization1520 global finalization1521 1378 1522 1379 global arg0 1523 1524 global opt_adl1525 1380 1526 1381 output = "" … … 1530 1385 frame = None 1531 1386 protocol = None 1532 initialization = None1533 finalization = None1534 1387 arg0 = None 1535 1388 … … 1537 1390 output = output.strip() 1538 1391 1539 if ( (output != "") and (opt_adl)):1392 if (output != ""): 1540 1393 outf = file(outname, "w") 1541 1394 outf.write(output) … … 1563 1416 global frame_properties 1564 1417 global arch_properties 1565 global opt_bp 1566 global opt_adl 1567 1568 if (len(sys.argv) < 3): 1418 1419 if (len(sys.argv) < 2): 1569 1420 usage(sys.argv[0]) 1570 1421 return 1571 1422 1572 opt_bp = False 1573 opt_adl = False 1574 1575 for arg in sys.argv[1:(len(sys.argv) - 1)]: 1576 if (arg == "--dumpbp"): 1577 opt_bp = True 1578 elif (arg == "--dumpadl"): 1579 opt_adl = True 1580 elif (arg == "--noop"): 1581 pass 1582 else: 1583 print "Error: Unknown command line option '%s'" % arg 1584 return 1585 1586 path = os.path.abspath(sys.argv[-1]) 1423 path = os.path.abspath(sys.argv[1]) 1587 1424 if (not os.path.isdir(path)): 1588 1425 print "Error: <OUTPUT> is not a directory" -
contrib/arch/kernel/kernel.adl
rd57e08f rbbddafb 7 7 unative_t sys_klog(int fd, const void *buf, size_t size); 8 8 protocol: 9 ?sys_klog *9 ?sys_klog 10 10 }; 11 11 … … 17 17 unative_t sys_debug_disable_console(void); 18 18 protocol: 19 ( 20 ?sys_debug_enable_console + 21 ?sys_debug_disable_console 22 )* 19 ?sys_debug_enable_console + 20 ?sys_debug_disable_console 23 21 }; 24 22 … … 27 25 unative_t sys_tls_set(unative_t addr); 28 26 protocol: 29 ?sys_tls_set *27 ?sys_tls_set 30 28 }; 31 29 … … 40 38 unative_t sys_thread_get_id(thread_id_t *uspace_thread_id); 41 39 protocol: 42 ( 43 ?sys_thread_create + 44 ?sys_thread_get_id + 45 ?sys_thread_exit 46 )* 40 ?sys_thread_create + 41 ?sys_thread_get_id + 42 ?sys_thread_exit 47 43 }; 48 44 … … 54 50 unative_t sys_task_get_id(task_id_t *uspace_task_id); 55 51 protocol: 56 ( 57 ?sys_task_set_name + 58 ?sys_task_get_id 59 )* 52 ?sys_task_set_name + 53 ?sys_task_get_id 60 54 }; 61 55 … … 64 58 unative_t sys_program_spawn_loader(char *uspace_name, size_t name_len); 65 59 protocol: 66 ?sys_program_spawn_loader *60 ?sys_program_spawn_loader 67 61 }; 68 62 … … 74 68 unative_t sys_futex_wakeup(uintptr_t uaddr); 75 69 protocol: 76 ( 77 ?sys_futex_sleep_timeout + 78 ?sys_futex_wakeup 79 )* 70 ?sys_futex_sleep_timeout + 71 ?sys_futex_wakeup 80 72 }; 81 73 … … 84 76 unative_t sys_smc_coherence(uintptr_t va, size_t size); 85 77 protocol: 86 ?sys_smc_coherence *78 ?sys_smc_coherence 87 79 }; 88 80 … … 100 92 unative_t sys_as_area_destroy(uintptr_t address); 101 93 protocol: 102 ( 103 ?sys_as_area_create + 104 ?sys_as_area_resize + 105 ?sys_as_area_change_flags + 106 ?sys_as_area_destroy 107 )* 94 ?sys_as_area_create + 95 ?sys_as_area_resize + 96 ?sys_as_area_change_flags + 97 ?sys_as_area_destroy 108 98 }; 109 99 … … 142 132 unative_t sys_ipc_poke(void); 143 133 protocol: 144 ( 145 ?sys_ipc_call_sync_fast + 146 ?sys_ipc_call_sync_slow + 147 ?sys_ipc_call_async_fast + 148 ?sys_ipc_call_async_slow + 149 ?sys_ipc_forward_fast + 150 ?sys_ipc_forward_slow + 151 ?sys_ipc_answer_fast + 152 ?sys_ipc_answer_slow + 153 ?sys_ipc_hangup + 154 ?sys_ipc_wait_for_call + 155 ?sys_ipc_poke 156 )* 134 ?sys_ipc_call_sync_fast + 135 ?sys_ipc_call_sync_slow + 136 ?sys_ipc_call_async_fast + 137 ?sys_ipc_call_async_slow + 138 ?sys_ipc_forward_fast + 139 ?sys_ipc_forward_slow + 140 ?sys_ipc_answer_fast + 141 ?sys_ipc_answer_slow + 142 ?sys_ipc_hangup + 143 ?sys_ipc_wait_for_call + 144 ?sys_ipc_poke 157 145 }; 158 146 … … 161 149 unative_t sys_event_subscribe(unative_t evno, unative_t method); 162 150 protocol: 163 ?sys_event_subscribe *151 ?sys_event_subscribe 164 152 }; 165 153 … … 171 159 unative_t sys_cap_revoke(sysarg64_t *uspace_taskid_arg, cap_t caps); 172 160 protocol: 173 ( 174 ?sys_cap_grant + 175 ?sys_cap_rewoke 176 )* 161 ?sys_cap_grant + 162 ?sys_cap_rewoke 177 163 }; 178 164 … … 196 182 unative_t sys_ipc_unregister_irq(inr_t inr, devno_t devno); 197 183 protocol: 198 ( 199 ?sys_enable_iospace + 200 ?sys_physmem_map + 201 ?sys_device_assign_devno + 202 ?sys_preempt_control + 203 ?sys_ipc_register_irq + 204 ?sys_ipc_unregister_irq 205 )* 184 ?sys_enable_iospace + 185 ?sys_physmem_map + 186 ?sys_device_assign_devno + 187 ?sys_preempt_control + 188 ?sys_ipc_register_irq + 189 ?sys_ipc_unregister_irq 206 190 }; 207 191 … … 213 197 unative_t sys_sysinfo_value(unatice_t ptr, unative_t len); 214 198 protocol: 215 ( 216 ?sys_sysinfo_valid + 217 ?sys_sysinfo_value 218 )* 199 ?sys_sysinfo_valid + 200 ?sys_sysinfo_value 219 201 }; 220 202 … … 223 205 unative_t sys_ipc_connect_kbox(sysarg64_t *uspace_taskid_arg); 224 206 protocol: 225 ?sys_ipc_connect_kbox *207 ?sys_ipc_connect_kbox 226 208 }; 227 209 -
contrib/arch/uspace/app/klog/klog.adl
rd57e08f rbbddafb 3 3 naming_service ns; 4 4 [/uspace/lib/libc/requires] 5 initialization:6 !ns.ipc_m_share_in /* SERVICE_MEM_KLOG */7 5 protocol: 8 [/uspace/lib/libc/protocol] 6 [/uspace/lib/libc/protocol] | 7 [klog.bp] 9 8 }; -
contrib/arch/uspace/srv/bd/rd/rd.adl
rd57e08f rbbddafb 8 8 ns ns; 9 9 devmap_driver devmap_driver; 10 initialization:11 [/uspace/lib/libc/fnc.devmap_driver_register] ;12 [/uspace/lib/libc/fnc.devmap_device_register]13 10 protocol: 14 [/uspace/lib/libc/protocol] 11 [/uspace/lib/libc/protocol] | 12 [rd.bp] 15 13 }; -
contrib/arch/uspace/srv/console/console.adl
rd57e08f rbbddafb 52 52 ns ns; 53 53 sys_console sys_console; 54 initialization:55 !ns.ipc_m_connect_me_to /* kbd */ ;56 !kbd.ipc_m_connect_to_me ;57 !ns.ipc_m_connect_me_to /* fb */ ;58 [/uspace/lib/libc/fnc.devmap_driver_register] ;59 !fb.get_resolution ;60 (61 [fnc.vp_create] +62 [fnc.vp_switch]63 )* ;64 [fnc.make_pixmap]* ;65 [fnc.make_anim] ;66 [fnc.vp_switch] ;67 !fb.flush ;68 !fb.get_csize ;69 !fb.get_color_cap ;70 !fb.ipc_m_share_out ;71 [/uspace/lib/libc/fnc.devmap_device_register]* ;72 !sys_console.sys_disable_console ;73 [fnc.gcons_redraw_console] ;74 [fnc.set_rgb_color] ;75 [fnc.screen_clear] ;76 [fnc.curs_goto] ;77 [fnc.curs_visibility]78 54 protocol: 79 [/uspace/lib/libc/protocol] 55 [/uspace/lib/libc/protocol] | 56 [console_server.bp] 80 57 }; 81 58 -
contrib/arch/uspace/srv/devmap/devmap.adl
rd57e08f rbbddafb 63 63 [/uspace/lib/libc/requires] 64 64 ns ns; 65 initialization:66 !ns.ipc_m_connect_to_me /* devmap */67 65 protocol: 68 [/uspace/lib/libc/protocol] 66 [/uspace/lib/libc/protocol] | 67 [devmap_server.bp] 69 68 }; -
contrib/arch/uspace/srv/fb/fb.adl
rd57e08f rbbddafb 105 105 [/uspace/lib/libc/requires] 106 106 ns ns; 107 initialization:108 !ns.ipc_m_connect_to_me /* fb */109 107 protocol: 110 [/uspace/lib/libc/protocol] 108 [/uspace/lib/libc/protocol] | 109 [fb_server.bp] 111 110 }; -
contrib/arch/uspace/srv/fs/devfs/devfs.adl
rd57e08f rbbddafb 13 13 devmap_client devmap_client; 14 14 service device; 15 initialization:16 [/uspace/lib/libc/fnc.devmap_get_phone] ;17 !ns.ipc_m_connect_me_to /* vfs */ ;18 [/uspace/lib/libfs/fnc.fs_register]19 15 protocol: 20 [/uspace/lib/libc/protocol] 16 [/uspace/lib/libc/protocol] | 17 [devfs_server.bp] 21 18 }; -
contrib/arch/uspace/srv/fs/fat/fat.adl
rd57e08f rbbddafb 12 12 ns ns; 13 13 rd rd; 14 initialization:15 !ns.ipc_m_connect_me_to /* vfs */ ;16 [/uspace/lib/libfs/fnc.fs_register]17 14 protocol: 18 [/uspace/lib/libc/protocol] 15 [/uspace/lib/libc/protocol] | 16 [fat_server.bp] 19 17 }; -
contrib/arch/uspace/srv/fs/tmpfs/tmpfs.adl
rd57e08f rbbddafb 12 12 ns ns; 13 13 rd rd; 14 initialization:15 !ns.ipc_m_connect_me_to /* vfs */ ;16 [/uspace/lib/libfs/fnc.fs_register]17 14 protocol: 18 [/uspace/lib/libc/protocol] 15 [/uspace/lib/libc/protocol] | 16 [tmpfs_server.bp] 19 17 }; -
contrib/arch/uspace/srv/kbd/kbd.adl
rd57e08f rbbddafb 26 26 event event; 27 27 ns ns; 28 initialization:29 !ns.ipc_m_connect_to_me /* kbd */ ;30 !event.event*31 28 protocol: 32 [/uspace/lib/libc/protocol] 29 [/uspace/lib/libc/protocol] | 30 [kbd_server.bp] 33 31 }; -
contrib/arch/uspace/srv/loader/loader.adl
rd57e08f rbbddafb 27 27 [/uspace/lib/libc/requires] 28 28 ns ns; 29 initialization:30 !ns.id_intro ;31 !ns.ipc_m_connect_to_me /* loader */32 29 protocol: 33 [/uspace/lib/libc/protocol] 30 [/uspace/lib/libc/protocol] | 31 [loader_server.bp] 34 32 }; -
contrib/arch/uspace/srv/pci/pci.adl
rd57e08f rbbddafb 10 10 [/uspace/lib/libc/requires] 11 11 ns ns; 12 initialization:13 !ns.ipc_m_connect_to_me /* pci */14 12 protocol: 15 [/uspace/lib/libc/protocol] 13 [/uspace/lib/libc/protocol] | 14 [pci_server.bp] 16 15 }; -
contrib/arch/uspace/srv/vfs/vfs.adl
rd57e08f rbbddafb 92 92 devfs devfs; 93 93 ns ns; 94 initialization:95 !ns.ipc_m_connect_to_me /* vfs */96 94 protocol: 97 [/uspace/lib/libc/protocol] 95 [/uspace/lib/libc/protocol] | 96 [vfs_server.bp] 98 97 }; 99 98 -
contrib/highlight/adl.syntax
rd57e08f rbbddafb 28 28 29 29 keyword whole protocol yellow 30 keyword whole initialization yellow31 keyword whole finalization yellow32 30 keyword whole provides yellow 33 31 keyword whole requires yellow -
kernel/genarch/Makefile.inc
rd57e08f rbbddafb 59 59 ifeq ($(CONFIG_SOFTINT),y) 60 60 GENARCH_SOURCES += \ 61 genarch/src/softint/division.c \ 62 genarch/src/softint/multiplication.c 61 genarch/src/softint/division.c 63 62 endif 64 63 -
uspace/lib/softint/Makefile
rd57e08f rbbddafb 45 45 46 46 GENERIC_SOURCES = \ 47 generic/division.c\ 48 generic/multiplication.c 47 generic/division.c 49 48 50 49 GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES)))
Note:
See TracChangeset
for help on using the changeset viewer.