Kernel: Hack AML integers to work better

Something is trying to store into a constant integers. Just by copying
not returning any integers as constants fixes it xD
This commit is contained in:
Bananymous 2024-08-16 13:03:13 +03:00
parent 490a28ee7a
commit b1fe24bb57
1 changed files with 6 additions and 3 deletions

View File

@ -100,13 +100,16 @@ namespace Kernel::ACPI
{ {
case AML::Byte::ZeroOp: case AML::Byte::ZeroOp:
aml_data = aml_data.slice(1); aml_data = aml_data.slice(1);
return ParseResult(Constants::Zero); // FIXME: no copy
return ParseResult(Constants::Zero->copy());
case AML::Byte::OneOp: case AML::Byte::OneOp:
aml_data = aml_data.slice(1); aml_data = aml_data.slice(1);
return ParseResult(Constants::One); // FIXME: no copy
return ParseResult(Constants::One->copy());
case AML::Byte::OnesOp: case AML::Byte::OnesOp:
aml_data = aml_data.slice(1); aml_data = aml_data.slice(1);
return ParseResult(Constants::Ones); // FIXME: no copy
return ParseResult(Constants::Ones->copy());
case AML::Byte::BytePrefix: case AML::Byte::BytePrefix:
{ {
if (aml_data.size() < 2) if (aml_data.size() < 2)