Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >qemu中内存地址的打印范围

qemu中内存地址的打印范围
EN

Stack Overflow用户
提问于 2014-10-30 09:18:55
回答 1查看 3.5K关注 0票数 1

我是qemu开发的新手。当将内存分配给虚拟机时,我想打印相应的地址。

例如,当我调用以下命令时

qemu-system-i 386 ubuntu.img -m 1G

我需要能够打印虚拟地址和物理地址。就像上面提到的1G内存:

客户虚拟地址= 0x12345678..to 0x87654321

来宾物理Addr = 0x23456781..to 0x74536733.(如果我的理解正确的话,这是映射到主机虚拟内存的那个)。

注:以上数字仅供解释。

当我查看qemu的源代码时,我发现这个大小--不管我们在这里命令中提到的是什么--都是作为|ram_addr_t|块的一部分分配的。但我无法找到,因为如何继续找到这个size.Kindly的抵消,帮助我在这方面的最早。

EN

回答 1

Stack Overflow用户

发布于 2014-10-30 12:06:56

基于以上所述,我认为您要做的不是将来宾虚拟地址映射到来宾物理地址(按帖子),而是将来宾物理地址映射到主机虚拟地址。

客户物理和客户虚拟之间的映射(主要是由客户操作系统控制)。如果您真的在尝试查看来宾物理到客户虚拟,这将是特定的目标。一些qemu目标甚至没有这样的映射(平面地址空间)。

首先,我将查看memory.cmemory_mapping.c的源代码。

下面是exec.c的摘录,它将目标(目标(来宾)虚拟地址)转换为目标物理地址,并在那里操作内存。这就是你所需要的吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr,
                        uint8_t *buf, int len, int is_write)
{
    int l;
    hwaddr phys_addr;
    target_ulong page;

    while (len > 0) {
        page = addr & TARGET_PAGE_MASK;
        phys_addr = cpu_get_phys_page_debug(cpu, page);
        /* if no physical page mapped, return an error */
        if (phys_addr == -1)
            return -1;
        l = (page + TARGET_PAGE_SIZE) - addr;
        if (l > len)
            l = len;
        phys_addr += (addr & ~TARGET_PAGE_MASK);
        if (is_write) {
            cpu_physical_memory_write_rom(cpu->as, phys_addr, buf, l);
        } else {
            address_space_rw(cpu->as, phys_addr, buf, l, 0);
        }
        len -= l;
        buf += l;
        addr += l;
    }
    return 0;

最后,我认为您可能在qemu频道上得到比这里更多的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26659379

复制
相关文章
如何在 Python 中创建静态类数据和静态类方法?
在这里,为静态类数据定义一个类属性。如果要为属性分配新值,请在赋值中显式使用类名 -
很酷的站长
2023/02/25
3.5K0
如何在 Python 中创建静态类数据和静态类方法?
python中类的静态方法和类的类方法
类的静态方法,不需要self这类参数,因为类的静态方法,不需要进行实例化,就可以进行调用。
刘金玉编程
2019/08/30
3.2K0
如何对类中的private方法进行测试?
问题:如何对类中的private方法进行测试? 大多数时候,private都是给public方法调用的,其实只要测试public即可。但是有时由于逻辑复杂等原因,一个public方法可能包含了多个private方法,再加上各种if/else,直接测public又要覆盖其中每个private方法的N多情况还是比较麻烦的,这时候应该考虑单对其中的private方法时行测试了。那么如何进行呢?
跑马溜溜的球
2020/12/07
3.5K0
Python中类的静态方法、类方法及实例方法
经过测试可以发现 实例属性需要通过实例对象来访问,类属性通过类来访问,但在测验中 stu1.school 实例对象也能访问类属性,为什么呢?
ZackSock
2021/04/13
3K0
Python中类的静态方法、类方法及实例方法
Python中类的静态方法、类方法及实例方法
经过测试可以发现 实例属性需要通过实例对象来访问,类属性通过类来访问,但在测验中 stu1.school 实例对象也能访问类属性,为什么呢?
忆想不到的晖
2021/04/04
3K0
Python中类的静态方法、类方法及实例方法
Junit测试Service类方法教程
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
SmileNicky
2019/09/25
9880
python 类中的方法
上一篇中讲到 创建了类,并且重点讲述了构造函数以及类实例,特别是对那个self,描述了不少。在讲述构造函数的时候特别提到,init()是一个函数,只不过在类中有一点特殊的作用罢了,每个类,首先要运行它,它规定了类的基本结构。
全栈程序员站长
2022/06/29
1.4K0
类中的构造方法
构造方法是正常开发中不可或缺的一部分,是语法上必须存在的。是一个具有特殊格式的方法,且有特殊的调用方式。
星哥玩云
2022/09/14
1.1K0
类中的构造方法
验证码类
工具类 package com.utils; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.io.File; impor
码客说
2019/10/22
8690
如何对类中的protected方法进行单元测试
也许很多同学写单元测试时遇到这样的问题,一个类方法是 protected ,如何测呢 ? 当然,你可以说把 protected 改成 public 就可测了!没错,是可测了,可是 ......
跑马溜溜的球
2020/12/07
4K0
软件测试方法 -- 等价类边界值
测试用例是为了特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,他是指导测试工作进行的依据。
EXI-小洲
2022/12/13
8520
软件测试方法 -- 等价类边界值
java中类中多个Synchronized方法
下面给出一个例子,说明一个class中有两个方法synchronized的情况。它们互相阻挡的用法和上面的“一个方法有synchronized”的情况是一样的。
马克java社区
2021/04/23
9070
java中类中多个Synchronized方法
java测试类的创建方法_java编写一个类
单元测试(unit testing) ,是指对软件中的最小可测试单元进行检查和验证。
全栈程序员站长
2022/11/02
5.3K0
springBoot中static类引用普通类的方法【工作】
需求: 要在一个工具类中引用其他项目包提供的一个API,直接引用会报错。 解决方案: 直接贴代码,主要是注意注解的使用; import com.test.api.basecode.BaseCodeAPI; /** * 功能描述:获取用户的工具类 * * @author: LIUY * @create: 2019-01-21 17:15 */ @Component @Slf4j public class SessionUtil { @Autowired private Login
用户5640963
2019/07/25
1.4K0
如何在 Django 中创建抽象模型类?
Django 中的抽象模型类是一个模型,它用作其他模型继承的模板,而不是一个旨在创建或保存到数据库的模型。在应用程序中,可以使用抽象模型定义多个模型共享的相似字段和行为。使用 Django,您可以定义一个派生自 Django.db.models 的模型类,以建立一个抽象模型类。
很酷的站长
2023/08/11
2650
如何在 Django 中创建抽象模型类?
如何在Vue中动态添加类名
能够向组件添加动态类名是非常强大的功能。它使我们可以更轻松地编写自定义主题,根据组件的状态添加类,还可以编写依赖于样式的组件的不同变体。
前端小智@大迁世界
2020/05/12
6.3K0
如何在java中创建不可变类?
今天我们将学习如何在java中创建不变的类。不可变对象是在初始化之后状态不变的实例。例如,String是一个不可变类,一旦实例化,它的值不会改变。
三产
2021/01/12
1.9K0
构造方法、类方法、类的复合
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/46794991
用户1451823
2018/09/12
1.2K0
python类:类方法和静态方法
http://blog.csdn.net/pipisorry/article/details/49516185
用户7886150
2020/12/01
8880
Dart 中类的静态成员、类的继承、覆写父类方法
1. Dart中的静态成员 定义静态成员 非静态方法可以访问静态成员以及非静态成员 静态方法没法访问非静态成员。 2. Dart中与方法有关的操作符 ? 条件运算符 is 类型判断 as 类型转换 .
越陌度阡
2020/12/08
3.3K0

相似问题

如何在测试其他类方法的测试中模拟类方法?

12

如何在RSPEC中测试类方法

50

如何在类组件中测试方法?

13

在不同的测试类中测试类的方法

11

如何在Scala中测试私有类方法?

84
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文