【sdx62】XBL设置共享内存变量,然后内核层获取变量实现
功能描述
由于开发需要,有时候需要在SBL阶段设置一些参数变量,然后给到系统启动之后读取操作
功能分析
查看代码发现,高通默认有测试程序可以写共享内存,代码如下smem_test.c
./boot_images/boot/QcomPkg/QcomTestCommon/SmemTestApp/smem_test.c
#include <Uefi.h>
#include <Library/UefiLib.h>
#include <Library/UefiApplicationEntryPoint.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/TestInterface.h>
#include "Protocol/EFISmem.h"EFI_STATUS
EFIAPI
UefiMain (IN EFI_HANDLE ImageHandle,IN EFI_SYSTEM_TABLE *SystemTable)
{EFI_SMEM_PROTOCOL * smem_protocol;EFI_STATUS status;UINT32 * vendor0;UINT32 * vendor1;UINT32 * vendor1_b;UINT32 * vendor1_c;UINT32 size;TEST_START("SMEM");status = gBS->LocateProtocol(&gEfiSMEMProtocolGuid, NULL,(void**)&smem_protocol);if(status != EFI_SUCCESS){AsciiPrint("ERROR: LocateProtocol returned %d\n",
【sdx62】XBL设置共享内存变量,然后内核层获取变量实现相关推荐
- 进程间通信之-共享内存Shared Memory--linux内核剖析(十一)
共享内存 共享内存是进程间通信中最简单的方式之中的一个. 共享内存是系统出于多个进程之间通讯的考虑,而预留的的一块内存区. 共享内存同意两个或很多其他进程訪问同一块内存,就如同 malloc() 函数 ...
- 共享内存简介及docker容器的shm设置与修改
共享内存简介及docker容器的shm设置与修改 共享内存简介 共享内存指 (shared memory)在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存.由于多个CPU需要快 ...
- linux进程间通信:system V 共享内存
文章目录 思维导图如下 通信原理 优势 运行流程 编程接口 编程实例 思维导图如下 通信原理 多个进程共享物理内存的同一块区域(通常称之为"段":segment) 抛弃了内核态消息 ...
- [转]Linux 进程间通信:共享内存
(上) 级别: 初级 郑彦兴 (mlinux@163.com), 国防科大攻读博士学位 2003 年 5 月 01 日 共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式.两个不同进程A.B ...
- cuda合并访问的要求_在 CUDA C / C ++ 中使用共享内存
在 上一篇文章 中,我研究了如何将一组线程访问的全局内存合并到一个事务中,以及对齐和跨步如何影响 CUDA 各代硬件的合并.对于最新版本的 CUDA 硬件,未对齐的数据访问不是一个大问题.然而,不管 ...
- system v和posix的共享内存对比 共享内存位置
参考 http://www.startos.com/linux/tips/2011012822078.html 1)Linux和所有的UNIX操作系统都允许通过共享内存在应用程序之间共享存储空间. 2 ...
- linux(2)- 共享内存的实现
目录 问题 环境 问题分析及思路 程序文件说明和执行 init.c sharedm-v2.c 相关截图 问题 (1)X.Y两个进程相互配合实现对输入文件中数据的处理,并将处理结果写入输出文件. (2) ...
- Linux进程通信的四种方式——共享内存、信号量、无名管道、消息队列|实验、代码、分析、总结
Linux进程通信的四种方式--共享内存.信号量.无名管道.消息队列|实验.代码.分析.总结 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须 ...
- Linux访问其他进程空间,Linux环境进程间通信系列(五):共享内存
共享内存可以说是最有用的进程间通信方式,也是最快的 IPC 形式.两个不同进程 A . B 共享内存的意思是,同一块物理内存被映射到进程 A . B 各自的进程地址空间.进程 A 可以即时看到进程 B ...
最新文章
- 操作系统ppt_Python处理PPT文件的实用姿势
- python使用lxml及request爬取-python用lxml解析网页为什么不完整?
- 剑指 Offer 27. 二叉树的镜像【无取巧解法,易于理解!】
- gocd_如何将DangerJS集成到GoCD管道中
- isalnum c语言函数
- iOS学习笔记3 - 命名空间
- java套接字数据对不上,服务器不从多个客户端(Java套接字)接收数据
- uni app对接php,thinkphp5 对接手机uni-app的unipush推送(个推)
- lesson6 DAAD转换与单片机接口
- Xcode 12: building for iOS Simulator, but linking in object file built fo... for architecture arm64
- Mac电脑Docker拉取Mysql报错?no matching manifest for linux/arm64/v8 in the manifest list entries
- cocoa设计模式笔记
- chrome版本太旧 无法更新 问题解决
- windows xp虚拟机安装教程
- 【软件测试】应用白盒测试实例
- RSA加解密的OAEP MGF1 填充解析
- Java学习—画图程序项目(2)
- CentOS7 ifup 和 ifdown
- 获取QQ邮箱的授权码
- 蓝桥杯魔方旋转问题(python)
热门文章
- mapbox-gl开发教程(二):地图主要配置参数说明
- 五险一金 | 养老保险的认识
- 正则函数--search/match/findall/sub/split
- 鼓励师加成太刺激了,鼻血喷了半斤,代码不一会儿就写完了...
- Ryujinx - 基于 C# 开发的任天堂 Switch 模拟器
- 深入浅出LSTM学习
- PDFsharp使用介绍
- Flutter中的依赖注入——get_it
- uniapp开发微信小程序,开发者工具、真机预览都没问题,唯独预览、体验版在手机上列表顺序错乱,用的localeCompare做的中文排序,终于找到问题并解决掉了,记录一下子
- 苹果设备尺寸和控件尺寸