aml-build.c (adb354dd1e00aa6b8bd674f0e1f70008badded0f) aml-build.c (d0384d9020f1f52f90e5e5b1b6c9c04aac5f6756)
1/* Support for generating ACPI tables and passing them to Guests
2 *
3 * Copyright (C) 2015 Red Hat Inc
4 *
5 * Author: Michael S. Tsirkin <mst@redhat.com>
6 * Author: Igor Mammedov <imammedo@redhat.com>
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 244 unchanged lines hidden (view full) ---

253 build_append_byte(table, 0x0C); /* DWordPrefix */
254 build_append_int_noprefix(table, value, 4);
255 } else {
256 build_append_byte(table, 0x0E); /* QWordPrefix */
257 build_append_int_noprefix(table, value, 8);
258 }
259}
260
1/* Support for generating ACPI tables and passing them to Guests
2 *
3 * Copyright (C) 2015 Red Hat Inc
4 *
5 * Author: Michael S. Tsirkin <mst@redhat.com>
6 * Author: Igor Mammedov <imammedo@redhat.com>
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 244 unchanged lines hidden (view full) ---

253 build_append_byte(table, 0x0C); /* DWordPrefix */
254 build_append_int_noprefix(table, value, 4);
255 } else {
256 build_append_byte(table, 0x0E); /* QWordPrefix */
257 build_append_int_noprefix(table, value, 8);
258 }
259}
260
261/* Generic Address Structure (GAS)
262 * ACPI 2.0/3.0: 5.2.3.1 Generic Address Structure
263 * 2.0 compat note:
264 * @access_width must be 0, see ACPI 2.0:Table 5-1
265 */
266void build_append_gas(GArray *table, AmlAddressSpace as,
267 uint8_t bit_width, uint8_t bit_offset,
268 uint8_t access_width, uint64_t address)
269{
270 build_append_int_noprefix(table, as, 1);
271 build_append_int_noprefix(table, bit_width, 1);
272 build_append_int_noprefix(table, bit_offset, 1);
273 build_append_int_noprefix(table, access_width, 1);
274 build_append_int_noprefix(table, address, 8);
275}
276
261/*
262 * Build NAME(XXXX, 0x00000000) where 0x00000000 is encoded as a dword,
263 * and return the offset to 0x00000000 for runtime patching.
264 *
265 * Warning: runtime patching is best avoided. Only use this as
266 * a replacement for DataTableRegion (for guests that don't
267 * support it).
268 */

--- 1396 unchanged lines hidden ---
277/*
278 * Build NAME(XXXX, 0x00000000) where 0x00000000 is encoded as a dword,
279 * and return the offset to 0x00000000 for runtime patching.
280 *
281 * Warning: runtime patching is best avoided. Only use this as
282 * a replacement for DataTableRegion (for guests that don't
283 * support it).
284 */

--- 1396 unchanged lines hidden ---