2022-06-26 18:24:07 -05:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
|
2006-06-02 05:36:31 -05:00
|
|
|
/***************************************************************************
|
|
|
|
* Copyright (C) 2005 by Dominic Rath *
|
|
|
|
* Dominic.Rath@gmx.de *
|
|
|
|
***************************************************************************/
|
2012-02-05 06:03:04 -06:00
|
|
|
|
2006-07-17 09:13:27 -05:00
|
|
|
#ifdef HAVE_CONFIG_H
|
2006-06-02 05:36:31 -05:00
|
|
|
#include "config.h"
|
2006-07-17 09:13:27 -05:00
|
|
|
#endif
|
|
|
|
|
2006-06-02 05:36:31 -05:00
|
|
|
#include "algorithm.h"
|
2009-12-03 06:14:25 -06:00
|
|
|
#include <helper/binarybuffer.h>
|
2006-06-02 05:36:31 -05:00
|
|
|
|
2009-11-13 10:39:30 -06:00
|
|
|
void init_mem_param(struct mem_param *param, uint32_t address, uint32_t size, enum param_direction direction)
|
2006-06-02 05:36:31 -05:00
|
|
|
{
|
|
|
|
param->address = address;
|
|
|
|
param->size = size;
|
|
|
|
param->value = malloc(size);
|
|
|
|
param->direction = direction;
|
|
|
|
}
|
|
|
|
|
2009-11-13 10:39:30 -06:00
|
|
|
void destroy_mem_param(struct mem_param *param)
|
2006-06-02 05:36:31 -05:00
|
|
|
{
|
|
|
|
free(param->value);
|
2007-12-18 15:20:28 -06:00
|
|
|
param->value = NULL;
|
2006-06-02 05:36:31 -05:00
|
|
|
}
|
|
|
|
|
2009-11-13 10:39:42 -06:00
|
|
|
void init_reg_param(struct reg_param *param, char *reg_name, uint32_t size, enum param_direction direction)
|
2006-06-02 05:36:31 -05:00
|
|
|
{
|
|
|
|
param->reg_name = reg_name;
|
|
|
|
param->size = size;
|
2009-11-16 04:53:57 -06:00
|
|
|
param->value = malloc(DIV_ROUND_UP(size, 8));
|
2006-06-02 05:36:31 -05:00
|
|
|
param->direction = direction;
|
|
|
|
}
|
|
|
|
|
2009-11-13 10:39:42 -06:00
|
|
|
void destroy_reg_param(struct reg_param *param)
|
2006-06-02 05:36:31 -05:00
|
|
|
{
|
|
|
|
free(param->value);
|
2007-12-18 15:20:28 -06:00
|
|
|
param->value = NULL;
|
2006-06-02 05:36:31 -05:00
|
|
|
}
|