{"name": "link_sysbus_device", "code": "__int64 __fastcall link_sysbus_device ( __int64 @@a1@@ , __int64 @@a2@@ ) { char @@i@@ ; unsigned int v4 ; unsigned int j ; v4 = Number ; for ( @@i@@ = sysbus_has_irq ( @@a1@@ , Number L ) ; @@i@@ ; @@i@@ = sysbus_has_irq ( @@a1@@ , v4 ) ) platform_bus_map_irq ( @@a2@@ , @@a1@@ , v4 ++ ) ; for ( j = Number ; ( unsigned __int8 ) sysbus_has_mmio ( @@a1@@ , j ) ; ++ j ) platform_bus_map_mmio ( @@a2@@ , @@a1@@ , j ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "char", "s": 1}, "location": "r8"}]}
{"name": "platform_bus_map_irq", "code": "__int64 __fastcall platform_bus_map_irq ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int @@a3@@ ) { int @@v5@@ ; int @@v6@@ ; @@v5@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( ( unsigned __int8 ) sysbus_is_irq_connected ( @@a2@@ , @@a3@@ ) ) return Number L ; @@v6@@ = find_first_zero_bit ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v5@@ ) ; if ( @@v6@@ >= @@v5@@ ) hw_error ( String ) ; set_bit ( @@v6@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; sysbus_connect_irq ( @@a2@@ , @@a3@@ , * ( _QWORD * ) ( Number L * @@v6@@ + * ( _QWORD * ) ( @@a1@@ + Number ) ) ) ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]} {"name": "platform_bus_map_mmio", "code": "__int64 __fastcall platform_bus_map_mmio ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int @@a3@@ ) { char @@v4@@ ; unsigned __int64 @@i@@ ; __int64 @@v6@@ ; __int64 @@v7@@ ; unsigned __int64 @@v8@@ ; __int64 @@v9@@ [ Number ] ; @@v9@@ [ Number ] = __readfsqword ( Number ) ; @@v6@@ = sysbus_mmio_get_region ( @@a2@@ , @@a3@@ ) ; @@v7@@ = memory_region_size ( @@v6@@ ) ; @@v8@@ = Number >> clz64 ( Number * @@v7@@ - Number ) ; @@v4@@ = Number ; if ( ( unsigned __int8 ) memory_region_is_mapped ( @@v6@@ ) ) return Number L ; for ( @@i@@ = Number L ; @@i@@ < * ( unsigned int * ) ( @@a1@@ + Number ) ; @@i@@ += @@v8@@ ) { memory_region_find ( @@v9@@ , @@a1@@ + Number , @@i@@ , @@v7@@ ) ; if ( ! @@v9@@ [ Number ] ) { @@v4@@ = Number ; break ; } } if ( @@v4@@ != Number ) hw_error ( String , @@v7@@ ) ; memory_region_add_subregion ( @@a1@@ + Number , @@i@@ , @@v6@@ ) ; return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v9", "t": {"T": 2, "n": 8, "s": 8, "t": "__int64"}, "location": "s64"}, {"n": "v8", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s72"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s80"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s88"}, {"n": "i", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s96"}, {"n": "v4", "t": {"T": 1, "n": "char", "s": 1}, "location": "s97"}]} {"name": "platform_bus_init_notify", "code": "__int64 __fastcall platform_bus_init_notify ( __int64 @@a1@@ ) { plaform_bus_refresh_irqs ( @@a1@@ - Number ) ; return foreach_dynamic_sysbus_device ( link_sysbus_device , @@a1@@ - Number ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]}