mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
acpi/ssdt: Fix aml_or() and aml_and() in if clause
In If condition, using bitwise and/or, rather than logical and/or. The result change in AML code: If (((Local6 == Zero) | (Arg0 != Local0))) ==> If (((Local6 == Zero) || (Arg0 != Local0))) If (((ObjectType (Arg3) == 0x04) & (SizeOf (Arg3) == One))) ==> If (((ObjectType (Arg3) == 0x04) && (SizeOf (Arg3) == One))) Fixes:90623ebf60
("nvdimm acpi: check UUID") Fixes:4568c94806
("nvdimm acpi: save arg3 of _DSM method") Signed-off-by: Robert Hoo <robert.hu@linux.intel.com> Reviewed-by: Jingqi Liu <jingqi.liu@intel.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <20220922122155.1326543-3-robert.hu@linux.intel.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
0ecc4e9161
commit
63bb20d669
1 changed files with 3 additions and 4 deletions
|
@ -1037,7 +1037,7 @@ static void nvdimm_build_common_dsm(Aml *dev,
|
|||
|
||||
uuid_invalid = aml_lnot(aml_equal(uuid, expected_uuid));
|
||||
|
||||
unsupport = aml_if(aml_or(unpatched, uuid_invalid, NULL));
|
||||
unsupport = aml_if(aml_lor(unpatched, uuid_invalid));
|
||||
|
||||
/*
|
||||
* function 0 is called to inquire what functions are supported by
|
||||
|
@ -1069,10 +1069,9 @@ static void nvdimm_build_common_dsm(Aml *dev,
|
|||
* in the DSM Spec.
|
||||
*/
|
||||
pckg = aml_arg(3);
|
||||
ifctx = aml_if(aml_and(aml_equal(aml_object_type(pckg),
|
||||
ifctx = aml_if(aml_land(aml_equal(aml_object_type(pckg),
|
||||
aml_int(4 /* Package */)) /* It is a Package? */,
|
||||
aml_equal(aml_sizeof(pckg), aml_int(1)) /* 1 element? */,
|
||||
NULL));
|
||||
aml_equal(aml_sizeof(pckg), aml_int(1)) /* 1 element? */));
|
||||
|
||||
pckg_index = aml_local(2);
|
||||
pckg_buf = aml_local(3);
|
||||
|
|
Loading…
Reference in a new issue