acpi: add aml_scope() term
Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
		
							parent
							
								
									0f2707e4e7
								
							
						
					
					
						commit
						2ef7c27b78
					
				| 
						 | 
				
			
			@ -271,6 +271,15 @@ static Aml *aml_alloc(void)
 | 
			
		|||
    return var;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static Aml *aml_bundle(uint8_t op, AmlBlockFlags flags)
 | 
			
		||||
{
 | 
			
		||||
    Aml *var = aml_alloc();
 | 
			
		||||
 | 
			
		||||
    var->op  = op;
 | 
			
		||||
    var->block_flags = flags;
 | 
			
		||||
    return var;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void aml_free(gpointer data)
 | 
			
		||||
{
 | 
			
		||||
    Aml *var = data;
 | 
			
		||||
| 
						 | 
				
			
			@ -335,3 +344,14 @@ void aml_append(Aml *parent_ctx, Aml *child)
 | 
			
		|||
    }
 | 
			
		||||
    build_append_array(parent_ctx->buf, child->buf);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* ACPI 1.0b: 16.2.5.1 Namespace Modifier Objects Encoding: DefScope */
 | 
			
		||||
Aml *aml_scope(const char *name_format, ...)
 | 
			
		||||
{
 | 
			
		||||
    va_list ap;
 | 
			
		||||
    Aml *var = aml_bundle(0x10 /* ScopeOp */, AML_PACKAGE);
 | 
			
		||||
    va_start(ap, name_format);
 | 
			
		||||
    build_append_namestringv(var->buf, name_format, ap);
 | 
			
		||||
    va_end(ap);
 | 
			
		||||
    return var;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,6 +59,9 @@ void free_aml_allocator(void);
 | 
			
		|||
 */
 | 
			
		||||
void aml_append(Aml *parent_ctx, Aml *child);
 | 
			
		||||
 | 
			
		||||
/* Block AML object primitives */
 | 
			
		||||
Aml *aml_scope(const char *name_format, ...) GCC_FMT_ATTR(1, 2);
 | 
			
		||||
 | 
			
		||||
/* other helpers */
 | 
			
		||||
GArray *build_alloc_array(void);
 | 
			
		||||
void build_free_array(GArray *array);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue