Message ID | 20200818122208.1243901-5-imammedo@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86: fix cpu hotplug with secure boot | expand |
On 8/18/20 2:22 PM, Igor Mammedov wrote: > Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > include/hw/acpi/aml-build.h | 2 ++ > hw/acpi/aml-build.c | 16 ++++++++++++++++ > 2 files changed, 18 insertions(+) > > diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h > index d27da03d64..e213fc554c 100644 > --- a/include/hw/acpi/aml-build.h > +++ b/include/hw/acpi/aml-build.h > @@ -291,6 +291,7 @@ Aml *aml_store(Aml *val, Aml *target); > Aml *aml_and(Aml *arg1, Aml *arg2, Aml *dst); > Aml *aml_or(Aml *arg1, Aml *arg2, Aml *dst); > Aml *aml_lor(Aml *arg1, Aml *arg2); > +Aml *aml_land(Aml *arg1, Aml *arg2); > Aml *aml_shiftleft(Aml *arg1, Aml *count); > Aml *aml_shiftright(Aml *arg1, Aml *count, Aml *dst); > Aml *aml_lless(Aml *arg1, Aml *arg2); > @@ -300,6 +301,7 @@ Aml *aml_increment(Aml *arg); > Aml *aml_decrement(Aml *arg); > Aml *aml_index(Aml *arg1, Aml *idx); > Aml *aml_notify(Aml *arg1, Aml *arg2); > +Aml *aml_break(void); > Aml *aml_call0(const char *method); > Aml *aml_call1(const char *method, Aml *arg1); > Aml *aml_call2(const char *method, Aml *arg1, Aml *arg2); > diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c > index f6fbc9b95d..14b41b56f0 100644 > --- a/hw/acpi/aml-build.c > +++ b/hw/acpi/aml-build.c > @@ -556,6 +556,15 @@ Aml *aml_or(Aml *arg1, Aml *arg2, Aml *dst) > return build_opcode_2arg_dst(0x7D /* OrOp */, arg1, arg2, dst); > } > > +/* ACPI 1.0b: 16.2.5.4 Type 2 Opcodes Encoding: DefLAnd */ > +Aml *aml_land(Aml *arg1, Aml *arg2) > +{ > + Aml *var = aml_opcode(0x90 /* LandOp */); > + aml_append(var, arg1); > + aml_append(var, arg2); > + return var; > +} > + > /* ACPI 1.0b: 16.2.5.4 Type 2 Opcodes Encoding: DefLOr */ > Aml *aml_lor(Aml *arg1, Aml *arg2) > { > @@ -629,6 +638,13 @@ Aml *aml_notify(Aml *arg1, Aml *arg2) > return var; > } > > +/* ACPI 1.0b: 16.2.5.3 Type 1 Opcodes Encoding: DefBreak */ > +Aml *aml_break(void) > +{ > + Aml *var = aml_opcode(0xa5 /* BreakOp */); > + return var; > +} > + > /* helper to call method without argument */ > Aml *aml_call0(const char *method) > { >
On 08/18/20 14:22, Igor Mammedov wrote: > Signed-off-by: Igor Mammedov <imammedo@redhat.com> > --- > include/hw/acpi/aml-build.h | 2 ++ > hw/acpi/aml-build.c | 16 ++++++++++++++++ > 2 files changed, 18 insertions(+) > > diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h > index d27da03d64..e213fc554c 100644 > --- a/include/hw/acpi/aml-build.h > +++ b/include/hw/acpi/aml-build.h > @@ -291,6 +291,7 @@ Aml *aml_store(Aml *val, Aml *target); > Aml *aml_and(Aml *arg1, Aml *arg2, Aml *dst); > Aml *aml_or(Aml *arg1, Aml *arg2, Aml *dst); > Aml *aml_lor(Aml *arg1, Aml *arg2); > +Aml *aml_land(Aml *arg1, Aml *arg2); > Aml *aml_shiftleft(Aml *arg1, Aml *count); > Aml *aml_shiftright(Aml *arg1, Aml *count, Aml *dst); > Aml *aml_lless(Aml *arg1, Aml *arg2); > @@ -300,6 +301,7 @@ Aml *aml_increment(Aml *arg); > Aml *aml_decrement(Aml *arg); > Aml *aml_index(Aml *arg1, Aml *idx); > Aml *aml_notify(Aml *arg1, Aml *arg2); > +Aml *aml_break(void); > Aml *aml_call0(const char *method); > Aml *aml_call1(const char *method, Aml *arg1); > Aml *aml_call2(const char *method, Aml *arg1, Aml *arg2); > diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c > index f6fbc9b95d..14b41b56f0 100644 > --- a/hw/acpi/aml-build.c > +++ b/hw/acpi/aml-build.c > @@ -556,6 +556,15 @@ Aml *aml_or(Aml *arg1, Aml *arg2, Aml *dst) > return build_opcode_2arg_dst(0x7D /* OrOp */, arg1, arg2, dst); > } > > +/* ACPI 1.0b: 16.2.5.4 Type 2 Opcodes Encoding: DefLAnd */ > +Aml *aml_land(Aml *arg1, Aml *arg2) > +{ > + Aml *var = aml_opcode(0x90 /* LandOp */); (1) Small typo in the comment: in the spec, it is spelled "LAndOp", not "LandOp" (consistently with "LOrOp" just below -- although "LOrOp" is not visible in the context, in this email). > + aml_append(var, arg1); > + aml_append(var, arg2); > + return var; > +} > + > /* ACPI 1.0b: 16.2.5.4 Type 2 Opcodes Encoding: DefLOr */ > Aml *aml_lor(Aml *arg1, Aml *arg2) > { (2) In the header file, the declaration order is aml_lor(), then aml_land(). But in the C file, the definitions are in the opposite order: aml_land(), aml_lor(). Not sure which one is right, but we should be consistent, if we can. > @@ -629,6 +638,13 @@ Aml *aml_notify(Aml *arg1, Aml *arg2) > return var; > } > > +/* ACPI 1.0b: 16.2.5.3 Type 1 Opcodes Encoding: DefBreak */ > +Aml *aml_break(void) > +{ > + Aml *var = aml_opcode(0xa5 /* BreakOp */); > + return var; > +} > + > /* helper to call method without argument */ > Aml *aml_call0(const char *method) > { > With my trivial comments (1) and (2) fixed: Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Thanks, Laszlo
diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h index d27da03d64..e213fc554c 100644 --- a/include/hw/acpi/aml-build.h +++ b/include/hw/acpi/aml-build.h @@ -291,6 +291,7 @@ Aml *aml_store(Aml *val, Aml *target); Aml *aml_and(Aml *arg1, Aml *arg2, Aml *dst); Aml *aml_or(Aml *arg1, Aml *arg2, Aml *dst); Aml *aml_lor(Aml *arg1, Aml *arg2); +Aml *aml_land(Aml *arg1, Aml *arg2); Aml *aml_shiftleft(Aml *arg1, Aml *count); Aml *aml_shiftright(Aml *arg1, Aml *count, Aml *dst); Aml *aml_lless(Aml *arg1, Aml *arg2); @@ -300,6 +301,7 @@ Aml *aml_increment(Aml *arg); Aml *aml_decrement(Aml *arg); Aml *aml_index(Aml *arg1, Aml *idx); Aml *aml_notify(Aml *arg1, Aml *arg2); +Aml *aml_break(void); Aml *aml_call0(const char *method); Aml *aml_call1(const char *method, Aml *arg1); Aml *aml_call2(const char *method, Aml *arg1, Aml *arg2); diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index f6fbc9b95d..14b41b56f0 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -556,6 +556,15 @@ Aml *aml_or(Aml *arg1, Aml *arg2, Aml *dst) return build_opcode_2arg_dst(0x7D /* OrOp */, arg1, arg2, dst); } +/* ACPI 1.0b: 16.2.5.4 Type 2 Opcodes Encoding: DefLAnd */ +Aml *aml_land(Aml *arg1, Aml *arg2) +{ + Aml *var = aml_opcode(0x90 /* LandOp */); + aml_append(var, arg1); + aml_append(var, arg2); + return var; +} + /* ACPI 1.0b: 16.2.5.4 Type 2 Opcodes Encoding: DefLOr */ Aml *aml_lor(Aml *arg1, Aml *arg2) { @@ -629,6 +638,13 @@ Aml *aml_notify(Aml *arg1, Aml *arg2) return var; } +/* ACPI 1.0b: 16.2.5.3 Type 1 Opcodes Encoding: DefBreak */ +Aml *aml_break(void) +{ + Aml *var = aml_opcode(0xa5 /* BreakOp */); + return var; +} + /* helper to call method without argument */ Aml *aml_call0(const char *method) {
Signed-off-by: Igor Mammedov <imammedo@redhat.com> --- include/hw/acpi/aml-build.h | 2 ++ hw/acpi/aml-build.c | 16 ++++++++++++++++ 2 files changed, 18 insertions(+)