Message ID | 1429104309-3844-16-git-send-email-zhaoshenglong@huawei.com |
---|---|
State | New |
Headers | show |
On 2015/4/15 21:25, Shannon Zhao wrote: > From: Shannon Zhao <shannon.zhao@linaro.org> > > Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com> > Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> > Reviewed-by: Alex Bennée <alex.bennee@linaro.org> > --- > hw/acpi/aml-build.c | 9 +++++++++ > include/hw/acpi/aml-build.h | 1 + > 2 files changed, 10 insertions(+) > > diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c > index cd4ffe2..139099f 100644 > --- a/hw/acpi/aml-build.c > +++ b/hw/acpi/aml-build.c > @@ -608,6 +608,15 @@ Aml *aml_irq_no_flags(uint8_t irq) > return var; > } > > +/* ACPI 1.0: 16.2.3 Operators: DefLNot */ > +Aml *aml_not(Aml *arg) > +{ > + Aml *var = aml_opcode(0x92 /* LNotOp */); > + aml_append(var, arg); > + build_append_int(var->buf, 0x00); /* NullNameOp */ This is not necessary to append 0, will remove it at next version. > + return var; > +} > + > /* ACPI 1.0b: 16.2.5.4 Type 2 Opcodes Encoding: DefLEqual */ > Aml *aml_equal(Aml *arg1, Aml *arg2) > { > diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h > index 61c1a03..08b3fbd 100644 > --- a/include/hw/acpi/aml-build.h > +++ b/include/hw/acpi/aml-build.h > @@ -224,6 +224,7 @@ Aml *aml_named_field(const char *name, unsigned length); > Aml *aml_reserved_field(unsigned length); > Aml *aml_local(int num); > Aml *aml_string(const char *name_format, ...) GCC_FMT_ATTR(1, 2); > +Aml *aml_not(Aml *arg); > Aml *aml_equal(Aml *arg1, Aml *arg2); > Aml *aml_processor(uint8_t proc_id, uint32_t pblk_addr, uint8_t pblk_len, > const char *name_format, ...) GCC_FMT_ATTR(4, 5); >
On Tue, 5 May 2015 10:45:06 +0800 Shannon Zhao <zhaoshenglong@huawei.com> wrote: > On 2015/4/15 21:25, Shannon Zhao wrote: > > From: Shannon Zhao <shannon.zhao@linaro.org> > > > > Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com> > > Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> > > Reviewed-by: Alex Bennée <alex.bennee@linaro.org> > > --- > > hw/acpi/aml-build.c | 9 +++++++++ > > include/hw/acpi/aml-build.h | 1 + > > 2 files changed, 10 insertions(+) > > > > diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c > > index cd4ffe2..139099f 100644 > > --- a/hw/acpi/aml-build.c > > +++ b/hw/acpi/aml-build.c > > @@ -608,6 +608,15 @@ Aml *aml_irq_no_flags(uint8_t irq) > > return var; > > } > > > > +/* ACPI 1.0: 16.2.3 Operators: DefLNot */ > > +Aml *aml_not(Aml *arg) > > +{ > > + Aml *var = aml_opcode(0x92 /* LNotOp */); > > + aml_append(var, arg); > > + build_append_int(var->buf, 0x00); /* NullNameOp */ > > This is not necessary to append 0, will remove it at next version. also make it aml_lnot() > > > + return var; > > +} > > + > > /* ACPI 1.0b: 16.2.5.4 Type 2 Opcodes Encoding: DefLEqual */ > > Aml *aml_equal(Aml *arg1, Aml *arg2) > > { > > diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h > > index 61c1a03..08b3fbd 100644 > > --- a/include/hw/acpi/aml-build.h > > +++ b/include/hw/acpi/aml-build.h > > @@ -224,6 +224,7 @@ Aml *aml_named_field(const char *name, unsigned length); > > Aml *aml_reserved_field(unsigned length); > > Aml *aml_local(int num); > > Aml *aml_string(const char *name_format, ...) GCC_FMT_ATTR(1, 2); > > +Aml *aml_not(Aml *arg); > > Aml *aml_equal(Aml *arg1, Aml *arg2); > > Aml *aml_processor(uint8_t proc_id, uint32_t pblk_addr, uint8_t pblk_len, > > const char *name_format, ...) GCC_FMT_ATTR(4, 5); > > > >
diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index cd4ffe2..139099f 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -608,6 +608,15 @@ Aml *aml_irq_no_flags(uint8_t irq) return var; } +/* ACPI 1.0: 16.2.3 Operators: DefLNot */ +Aml *aml_not(Aml *arg) +{ + Aml *var = aml_opcode(0x92 /* LNotOp */); + aml_append(var, arg); + build_append_int(var->buf, 0x00); /* NullNameOp */ + return var; +} + /* ACPI 1.0b: 16.2.5.4 Type 2 Opcodes Encoding: DefLEqual */ Aml *aml_equal(Aml *arg1, Aml *arg2) { diff --git a/include/hw/acpi/aml-build.h b/include/hw/acpi/aml-build.h index 61c1a03..08b3fbd 100644 --- a/include/hw/acpi/aml-build.h +++ b/include/hw/acpi/aml-build.h @@ -224,6 +224,7 @@ Aml *aml_named_field(const char *name, unsigned length); Aml *aml_reserved_field(unsigned length); Aml *aml_local(int num); Aml *aml_string(const char *name_format, ...) GCC_FMT_ATTR(1, 2); +Aml *aml_not(Aml *arg); Aml *aml_equal(Aml *arg1, Aml *arg2); Aml *aml_processor(uint8_t proc_id, uint32_t pblk_addr, uint8_t pblk_len, const char *name_format, ...) GCC_FMT_ATTR(4, 5);