summary refs log tree commit diff
path: root/acpi_tables/src/lib.rs
diff options
context:
space:
mode:
authorChuanxiao Dong <chuanxiao.dong@intel.corp-partner.google.com>2019-11-01 15:18:13 +0800
committerCommit Bot <commit-bot@chromium.org>2020-02-27 05:07:01 +0000
commit91e8403ddf1dd5abf5611127fa07c578568be752 (patch)
treeaec5a308d689ed4d99a09f3cde0583646985d6b0 /acpi_tables/src/lib.rs
parentec8aacb1343108c399e423f430864ee84cff8515 (diff)
downloadcrosvm-91e8403ddf1dd5abf5611127fa07c578568be752.tar
crosvm-91e8403ddf1dd5abf5611127fa07c578568be752.tar.gz
crosvm-91e8403ddf1dd5abf5611127fa07c578568be752.tar.bz2
crosvm-91e8403ddf1dd5abf5611127fa07c578568be752.tar.lz
crosvm-91e8403ddf1dd5abf5611127fa07c578568be752.tar.xz
crosvm-91e8403ddf1dd5abf5611127fa07c578568be752.tar.zst
crosvm-91e8403ddf1dd5abf5611127fa07c578568be752.zip
acpi_tables: Add initial ACPI tables support
The basic ACPI table support for creating XSDT.

It refers to the implementation of the Cloud-hypervisor's ACPI
commit:
 - Cloud-hypervisor: acpi_tables: Add initial ACPI tables support

BUG=chromium:1018674
TEST=cargo test -p acpi_tables

Change-Id: Ia3b597936fef214fcb92fce28c91152dfa03bec9
Signed-off-by: Chuanxiao Dong <chuanxiao.dong@intel.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2035350
Reviewed-by: Tomasz Jeznach <tjeznach@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'acpi_tables/src/lib.rs')
-rw-r--r--acpi_tables/src/lib.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/acpi_tables/src/lib.rs b/acpi_tables/src/lib.rs
new file mode 100644
index 0000000..73dd9e8
--- /dev/null
+++ b/acpi_tables/src/lib.rs
@@ -0,0 +1,10 @@
+// Copyright 2020 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+pub mod rsdp;
+pub mod sdt;
+
+fn generate_checksum(data: &[u8]) -> u8 {
+    (255 - data.iter().fold(0u8, |acc, x| acc.wrapping_add(*x))).wrapping_add(1)
+}