parent
d553822cd1
commit
67ec8ae5a7
@ -1,30 +0,0 @@ |
|||||||
// Copyright (C) 2020 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. |
|
||||||
|
|
||||||
cc_binary { |
|
||||||
name: "android.hardware.memtrack-service.s", |
|
||||||
relative_install_path: "hw", |
|
||||||
init_rc: ["memtrack-sm7125.rc"], |
|
||||||
vintf_fragments: ["memtrack-sm7125.xml"], |
|
||||||
vendor: true, |
|
||||||
shared_libs: [ |
|
||||||
"libbase", |
|
||||||
"libbinder_ndk", |
|
||||||
"android.hardware.memtrack-V1-ndk", |
|
||||||
], |
|
||||||
srcs: [ |
|
||||||
"main.cpp", |
|
||||||
"Memtrack.cpp", |
|
||||||
], |
|
||||||
} |
|
@ -1,47 +0,0 @@ |
|||||||
/*
|
|
||||||
* Copyright (C) 2020 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. |
|
||||||
*/ |
|
||||||
|
|
||||||
#include "Memtrack.h" |
|
||||||
|
|
||||||
namespace aidl { |
|
||||||
namespace android { |
|
||||||
namespace hardware { |
|
||||||
namespace memtrack { |
|
||||||
|
|
||||||
ndk::ScopedAStatus Memtrack::getMemory(int pid, MemtrackType type, |
|
||||||
std::vector<MemtrackRecord>* _aidl_return) { |
|
||||||
if (pid < 0) { |
|
||||||
return ndk::ScopedAStatus(AStatus_fromExceptionCode(EX_ILLEGAL_ARGUMENT)); |
|
||||||
} |
|
||||||
if (type != MemtrackType::OTHER && type != MemtrackType::GL && type != MemtrackType::GRAPHICS && |
|
||||||
type != MemtrackType::MULTIMEDIA && type != MemtrackType::CAMERA) { |
|
||||||
return ndk::ScopedAStatus(AStatus_fromExceptionCode(EX_UNSUPPORTED_OPERATION)); |
|
||||||
} |
|
||||||
_aidl_return->clear(); |
|
||||||
return ndk::ScopedAStatus::ok(); |
|
||||||
} |
|
||||||
|
|
||||||
ndk::ScopedAStatus Memtrack::getGpuDeviceInfo(std::vector<DeviceInfo>* _aidl_return) { |
|
||||||
_aidl_return->clear(); |
|
||||||
DeviceInfo dev_info = {.id = 0, .name = "virtio_gpu"}; |
|
||||||
_aidl_return->emplace_back(dev_info); |
|
||||||
return ndk::ScopedAStatus::ok(); |
|
||||||
} |
|
||||||
|
|
||||||
} // namespace memtrack
|
|
||||||
} // namespace hardware
|
|
||||||
} // namespace android
|
|
||||||
} // namespace aidl
|
|
@ -1,39 +0,0 @@ |
|||||||
/*
|
|
||||||
* Copyright (C) 2020 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. |
|
||||||
*/ |
|
||||||
|
|
||||||
#pragma once |
|
||||||
|
|
||||||
#include <aidl/android/hardware/memtrack/BnMemtrack.h> |
|
||||||
#include <aidl/android/hardware/memtrack/DeviceInfo.h> |
|
||||||
#include <aidl/android/hardware/memtrack/MemtrackRecord.h> |
|
||||||
#include <aidl/android/hardware/memtrack/MemtrackType.h> |
|
||||||
|
|
||||||
namespace aidl { |
|
||||||
namespace android { |
|
||||||
namespace hardware { |
|
||||||
namespace memtrack { |
|
||||||
|
|
||||||
class Memtrack : public BnMemtrack { |
|
||||||
ndk::ScopedAStatus getMemory(int pid, MemtrackType type, |
|
||||||
std::vector<MemtrackRecord>* _aidl_return) override; |
|
||||||
|
|
||||||
ndk::ScopedAStatus getGpuDeviceInfo(std::vector<DeviceInfo>* _aidl_return) override; |
|
||||||
}; |
|
||||||
|
|
||||||
} // namespace memtrack
|
|
||||||
} // namespace hardware
|
|
||||||
} // namespace android
|
|
||||||
} // namespace aidl
|
|
@ -1,36 +0,0 @@ |
|||||||
/*
|
|
||||||
* Copyright (C) 2020 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. |
|
||||||
*/ |
|
||||||
|
|
||||||
#include "Memtrack.h" |
|
||||||
|
|
||||||
#include <android-base/logging.h> |
|
||||||
#include <android/binder_manager.h> |
|
||||||
#include <android/binder_process.h> |
|
||||||
|
|
||||||
using aidl::android::hardware::memtrack::Memtrack; |
|
||||||
|
|
||||||
int main() { |
|
||||||
ABinderProcess_setThreadPoolMaxThreadCount(0); |
|
||||||
std::shared_ptr<Memtrack> memtrack = ndk::SharedRefBase::make<Memtrack>(); |
|
||||||
|
|
||||||
const std::string instance = std::string() + Memtrack::descriptor + "/default"; |
|
||||||
binder_status_t status = |
|
||||||
AServiceManager_addService(memtrack->asBinder().get(), instance.c_str()); |
|
||||||
CHECK_EQ(status, STATUS_OK); |
|
||||||
|
|
||||||
ABinderProcess_joinThreadPool(); |
|
||||||
return EXIT_FAILURE; // Unreachable
|
|
||||||
} |
|
@ -1,4 +0,0 @@ |
|||||||
service vendor.memtrack-default /vendor/bin/hw/android.hardware.memtrack-service.sm7125 |
|
||||||
class hal |
|
||||||
user nobody |
|
||||||
group system |
|
@ -1,7 +0,0 @@ |
|||||||
<manifest version="1.0" type="device"> |
|
||||||
<hal format="aidl"> |
|
||||||
<name>android.hardware.memtrack</name> |
|
||||||
<fqname>IMemtrack/default</fqname> |
|
||||||
</hal> |
|
||||||
</manifest> |
|
||||||
|
|
Loading…
Reference in new issue