ubb-la/ubb-la.c |
166 | 166 | } |
167 | 167 | |
168 | 168 | |
169 | | static int do_buf(int nibbles, uint32_t trigger, uint32_t mask) |
| 169 | static void print_samples(FILE *file, uint8_t *buf, int skip, int nibbles) |
170 | 170 | { |
171 | | uint8_t *buf = physmem_malloc(4096); |
172 | | struct physmem_vec vec; |
173 | | int n, i; |
174 | 171 | uint8_t v, last = 0xff; |
175 | | int count = 0; |
176 | | |
177 | | if (mlockall(MCL_CURRENT | MCL_FUTURE)) { |
178 | | perror("mlockall"); |
179 | | exit(1); |
180 | | } |
181 | | |
182 | | memset(buf, 0, 4096); |
183 | | physmem_flush(buf, 4096); |
| 172 | int i, count = 0; |
184 | 173 | |
185 | | n = physmem_xlat((void *) buf, nibbles >> 1, &vec, 1); |
186 | | if (n != 1) { |
187 | | fprintf(stderr, "physmem_xlat_vec: expected 1, got %d\n", n); |
188 | | exit(1); |
189 | | } |
190 | | if (!xfer(vec.addr, nibbles, trigger, mask)) |
191 | | return 0; |
192 | | |
193 | | for (i = INITIAL_SKIP; i != nibbles; i++) { |
| 174 | for (i = skip; i != nibbles; i++) { |
194 | 175 | v = (buf[i >> 1] >> (4*(~i & 1))) & 0xf; |
195 | 176 | if (v == last) { |
196 | 177 | count++; |
... | ... | |
213 | 194 | printf("%X\n", last); |
214 | 195 | else |
215 | 196 | printf("%X{%d}\n", last, count); |
| 197 | } |
| 198 | |
| 199 | |
| 200 | static int do_buf(int nibbles, uint32_t trigger, uint32_t mask) |
| 201 | { |
| 202 | uint8_t *buf = physmem_malloc(4096); |
| 203 | struct physmem_vec vec; |
| 204 | int n; |
| 205 | |
| 206 | if (mlockall(MCL_CURRENT | MCL_FUTURE)) { |
| 207 | perror("mlockall"); |
| 208 | exit(1); |
| 209 | } |
| 210 | |
| 211 | memset(buf, 0, 4096); |
| 212 | physmem_flush(buf, 4096); |
| 213 | |
| 214 | n = physmem_xlat((void *) buf, nibbles >> 1, &vec, 1); |
| 215 | if (n != 1) { |
| 216 | fprintf(stderr, "physmem_xlat_vec: expected 1, got %d\n", n); |
| 217 | exit(1); |
| 218 | } |
| 219 | if (!xfer(vec.addr, nibbles, trigger, mask)) |
| 220 | return 0; |
| 221 | |
| 222 | print_samples(stdout, buf, INITIAL_SKIP, nibbles); |
| 223 | |
216 | 224 | return 1; |
217 | 225 | } |
218 | 226 | |