Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d4738792 authored by Peter Oruba's avatar Peter Oruba Committed by Ingo Molnar
Browse files

x86, microcode rework, v2, renaming cont.



Renaming based on patch from Dmitry Adamushko.

Further clarification by renaming define and variable related to
microcode container file.

Signed-off-by: default avatarPeter Oruba <peter.oruba@amd.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent b6cffde1
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -263,21 +263,20 @@ static void * get_next_ucode(u8 *buf, unsigned int size,
			unsigned int *mc_size)
{
	unsigned int total_size;
#define UCODE_UNKNOWN_HDR	8
	u8 hdr[UCODE_UNKNOWN_HDR];
#define UCODE_CONTAINER_SECTION_HDR	8
	u8 section_hdr[UCODE_CONTAINER_SECTION_HDR];
	void *mc;

	if (get_ucode_data(hdr, buf, UCODE_UNKNOWN_HDR))
	if (get_ucode_data(section_hdr, buf, UCODE_CONTAINER_SECTION_HDR))
		return NULL;

	if (hdr[0] != UCODE_UCODE_TYPE) {
	if (section_hdr[0] != UCODE_UCODE_TYPE) {
		printk(KERN_ERR "microcode: error! "
		       "Wrong microcode payload type field\n");
		return NULL;
	}

	/* FIXME! dimm: Why not by means of get_totalsize(hdr)? */
	total_size = (unsigned long) (hdr[4] + (hdr[5] << 8));
	total_size = (unsigned long) (section_hdr[4] + (section_hdr[5] << 8));

	printk(KERN_INFO "microcode: size %u, total_size %u\n",
		size, total_size);
@@ -290,13 +289,13 @@ static void * get_next_ucode(u8 *buf, unsigned int size,
	mc = vmalloc(UCODE_MAX_SIZE);
	if (mc) {
		memset(mc, 0, UCODE_MAX_SIZE);
		if (get_ucode_data(mc, buf + UCODE_UNKNOWN_HDR, total_size)) {
		if (get_ucode_data(mc, buf + UCODE_CONTAINER_SECTION_HDR, total_size)) {
			vfree(mc);
			mc = NULL;
		} else
			*mc_size = total_size + UCODE_UNKNOWN_HDR;
			*mc_size = total_size + UCODE_CONTAINER_SECTION_HDR;
	}
#undef UCODE_UNKNOWN_HDR
#undef UCODE_CONTAINER_SECTION_HDR
	return mc;
}