1 /* 2 * Copyright (c) 2013-2023 Ali Mashtizadeh 3 * All rights reserved. 4 */ 5 6 #include <stdint.h> 7 8 #include <sys/kassert.h> 9 #include <sys/sga.h> 10 11 void SGArray_Init(SGArray * sga)12SGArray_Init(SGArray *sga) 13 { 14 sga->len = 0; 15 } 16 17 int SGArray_Append(SGArray * sga,uint64_t off,uint64_t len)18SGArray_Append(SGArray *sga, uint64_t off, uint64_t len) 19 { 20 ASSERT(sga->len < SGARRAY_MAX_ENTRIES) 21 22 sga->entries[sga->len].offset = off; 23 sga->entries[sga->len].length = len; 24 sga->len++; 25 26 return sga->len; 27 } 28 29 void SGArray_Dump(SGArray * sga)30SGArray_Dump(SGArray *sga) 31 { 32 int i; 33 34 kprintf("--- SGArray Begin ---\n"); 35 for (i = 0; i < sga->len; i++) 36 { 37 kprintf("%d: %016llx %016llx\n", i, sga->entries[i].offset, 38 sga->entries[i].length); 39 } 40 kprintf("--- SGArray End ---\n"); 41 } 42 43