{"name": "dma_memory_write", "code": "__int64 __fastcall dma_memory_write ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , unsigned int @@a4@@ ) { return dma_memory_rw ( @@a1@@ , @@a2@@ , @@a3@@ , @@a4@@ , Number ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]}
{"name": "dma_memory_rw", "code": "__int64 __fastcall dma_memory_rw ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , unsigned int @@a4@@ , int @@a5@@ ) { dma_barrier ( ) ; return dma_memory_rw_relaxed ( @@a1@@ , @@a2@@ , @@a3@@ , @@a4@@ , @@a5@@ ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}]} {"name": "put_dwords", "code": "__int64 __fastcall put_dwords ( __int64 @@a1@@ , unsigned int @@a2@@ , unsigned int * @@a3@@ , int @@a4@@ ) { __int64 @@result@@ ; int @@v8@@ ; int @@v9@@ ; unsigned __int64 @@v10@@ ; @@v10@@ = __readfsqword ( Number ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { @@v9@@ = Number ; while ( @@v9@@ < @@a4@@ ) { @@v8@@ = cpu_to_le32 ( * @@a3@@ ) ; dma_memory_write ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@a2@@ , ( __int64 ) & @@v8@@ , Number ) ; ++ @@v9@@ ; ++ @@a3@@ ; @@a2@@ += Number ; } @@result@@ = ( unsigned int ) @@a4@@ ; } else { ehci_raise_irq ( @@a1@@ , Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) &= Number ; trace_usb_ehci_dma_error ( ) ; @@result@@ = Number ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "unsigned int"}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v8", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v10", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}