Upgrade OpenCSD to v1.4.0

This project was upgraded with external_updater.
Usage: tools/external_updater/updater.sh update OpenCSD
For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md

Bug: 263556196
Test: TreeHugger
Change-Id: I8683cfcc0d1283feab4e84c447f0887dc9797e0a
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..6e8884c
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,85 @@
+//
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+package {
+    default_visibility: ["//visibility:private"],
+    default_applicable_licenses: ["external_OpenCSD_license"],
+}
+
+// Added automatically by a large-scale-change that took the approach of
+// 'apply every license found to every target'. While this makes sure we respect
+// every license restriction, it may not be entirely correct.
+//
+// e.g. GPL in an MIT project might only apply to the contrib/ directory.
+//
+// Please consider splitting the single license below into multiple licenses,
+// taking care not to lose any license_kind information, and overriding the
+// default license using the 'licenses: [...]' property on targets as needed.
+//
+// For unused files, consider creating a 'fileGroup' with "//visibility:private"
+// to attach the license to, and including a comment whether the files may be
+// used in the current project.
+// See: http://go/android-license-faq
+license {
+    name: "external_OpenCSD_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-BSD",
+        "SPDX-license-identifier-GPL-3.0",
+    ],
+    license_text: [
+        "LICENSE",
+    ],
+}
+
+cc_library_static {
+    name: "libopencsd_decoder",
+    host_supported: true,
+    visibility: [
+        "//cts/tests/tests/simpleperf",
+        "//system/extras/simpleperf",
+    ],
+    export_include_dirs: ["decoder/include"],
+
+    cppflags: [
+        "-Wno-ignored-qualifiers",
+        "-Wno-unused-parameter",
+        "-Wno-switch",
+        "-Wno-unused-private-field",
+        "-Wno-implicit-fallthrough",
+        "-Wno-constant-logical-operand",
+        "-fexceptions",
+    ],
+    rtti: true,
+
+    target: {
+        windows: {
+            enabled: true,
+        },
+    },
+
+    srcs: [
+        "decoder/source/*.cpp",
+        "decoder/source/etmv3/*.cpp",
+        "decoder/source/etmv4/*.cpp",
+        "decoder/source/ete/*.cpp",
+        "decoder/source/i_dec/*.cpp",
+        "decoder/source/mem_acc/*.cpp",
+        "decoder/source/pkt_printers/*.cpp",
+        "decoder/source/ptm/*.cpp",
+        "decoder/source/stm/*.cpp",
+    ],
+}
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..dc28d14
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,23 @@
+# This project was upgraded with external_updater.
+# Usage: tools/external_updater/updater.sh update OpenCSD
+# For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md
+
+name: "OpenCSD"
+description: "This library provides an API suitable for the decode of ARM(r) CoreSight(tm) trace streams."
+third_party {
+  url {
+    type: HOMEPAGE
+    value: "https://github.com/Linaro/OpenCSD"
+  }
+  url {
+    type: GIT
+    value: "https://github.com/Linaro/OpenCSD.git"
+  }
+  version: "v1.4.0"
+  license_type: RESTRICTED
+  last_upgrade_date {
+    year: 2023
+    month: 1
+    day: 20
+  }
+}
diff --git a/MODULE_LICENSE_BSD b/MODULE_LICENSE_BSD
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_BSD
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..e5b5f6f
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1 @@
+include toolchain/llvm_android:/OWNERS
diff --git a/TEST_MAPPING b/TEST_MAPPING
new file mode 100644
index 0000000..9e10bc7
--- /dev/null
+++ b/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+  "presubmit": [
+    {
+      "name": "CtsSimpleperfTestCases"
+    }
+  ]
+}
\ No newline at end of file