コード例 #1
0
ファイル: kexec-ppc64.c プロジェクト: AnwariJr/kexec-tools
/* Return a list of valid memory ranges */
int get_memory_ranges(struct memory_range **range, int *ranges,
			unsigned long kexec_flags)
{
        /* allocate memory_range dynamically */
        max_memory_ranges = 1;

	if (alloc_memory_ranges())
		return -1;
	if (setup_memory_ranges(kexec_flags))
		return -1;

	/*
	 * copy the memory here, another realloc_memory_ranges might
	 * corrupt the old memory
	 */
	*range = calloc(sizeof(struct memory_range), nr_memory_ranges);
	if (*range == NULL)
		return -1;
	memmove(*range, memory_range,
		sizeof(struct memory_range) * nr_memory_ranges);

	*ranges = nr_memory_ranges;
	dbgprintf("get memory ranges:%d\n", nr_memory_ranges);
	return 0;
}
コード例 #2
0
/* Return a list of valid memory ranges */
int get_memory_ranges_dt(struct memory_range **range, int *ranges,
                         unsigned long kexec_flags)
{
    if (count_memory_ranges())
        return -1;
    if (alloc_memory_ranges())
        return -1;
    if (setup_memory_ranges(kexec_flags))
        return -1;

    *range = memory_range;
    *ranges = nr_memory_ranges;
    return 0;
}
コード例 #3
0
/* Return a list of valid memory ranges */
int get_memory_ranges(struct memory_range **range, int *ranges,
			unsigned long kexec_flags)
{
	if (count_memory_ranges())
		return -1;
	if (alloc_memory_ranges())
		return -1;
	if (setup_memory_ranges(kexec_flags))
		return -1;

	*range = memory_range;
	*ranges = nr_memory_ranges;
	fprintf(stderr, "get memory ranges:%d\n", nr_memory_ranges);
	return 0;
}