小编yon*_*igo的帖子

将QEMU窗口输出重定向到运行qemu的终端

我试图用qemu调试linux内核的启动顺序,我正在运行的命令是:

  qemu -serial stdio -kernel <path to kernel> -hda <path to rootfs> -append "root=/dev/sda terminal = ttyS0"
Run Code Online (Sandbox Code Playgroud)

在引导期间,所有内核消息都将打印到QEMU窗口.只有当引导完成后,我才会将提示返回到终端,我运行了QEMU.

现在我可以开始使用我正在运行的内核终端并在终端中查看输出,而不是在QEMU窗口中.

如何将所有消息(包括引导消息)发送到终端而不是QEMU窗口(因为我无法在该窗口中向上滚动..)?

linux debugging qemu linux-kernel

24
推荐指数
2
解决办法
5万
查看次数

如何从ptree异常中获取xml行号

我正在使用boost ptree来读取这样的xml文件:

ptree myTree;
... /*open xml file*/
try{
    myTree.get<string>(s);
}
catch(boost::exception const&  ex)
{
/*get useful info!*/
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用该what()函数,但它会产生错误和我刚刚发送的字符串.

有没有办法获得更多有用的信息,如xml中与呼叫相关的行号?

c++ xml boost exception ptree

8
推荐指数
1
解决办法
1849
查看次数

在 x86 上执行 cli 后丢失中断会发生什么?

在我使用 cli 命令之后和在我使用 sti 再次启用它们之前发送到处理器的中断会发生什么?

x86 assembly operating-system linux-kernel

7
推荐指数
1
解决办法
1354
查看次数

如何获取当前正在运行的模块的sc_module_name

当我创建一个实例时,如果sc_module我给它一个字符串作为模块名称(sc_module_name).

如何获取当前正在运行的模块的名称?

c++ systemc

5
推荐指数
2
解决办法
3766
查看次数

如何从linux tun/tap逐包读取数据包

我已使用以下方法连接到现有的 Tap 设备

fd = open(...)
Run Code Online (Sandbox Code Playgroud)

现在我想逐包读取它。如果我使用

read(fd,buffer,sizeof(buffer));
Run Code Online (Sandbox Code Playgroud)

我不会准确读取 1 个数据包。

我怎样才能准确读取 1 个数据包?是否有某种标头表示数据包长度,或者在最坏的情况下我将不得不解析数据包并自己计算长度?

c linux network-programming

5
推荐指数
1
解决办法
4449
查看次数

如何使用 dd 用特定字符填充磁盘?

我知道我可以像这样用 0x0 填充整个磁盘:

dd if=/dev/zero of=/dev/sda bs=4k conv=notrunc
Run Code Online (Sandbox Code Playgroud)

有没有办法用我选择的字符填充整个磁盘?

linux dd block-device

4
推荐指数
1
解决办法
5274
查看次数

如何将HBase表强制到区域服务器

我有2个Hbase表,我想强制它们中的每一个到不同的区域服务器.有没有办法告诉HBase这样做?

hadoop hbase apache-zookeeper

4
推荐指数
1
解决办法
3729
查看次数

如何将dma_addr_t转换为linux内核中的虚拟地址?

我正在写一个PCI设备驱动程序,我需要为DMA分配一些内存,我正在使用这个函数:

void *dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, int flag);
Run Code Online (Sandbox Code Playgroud)

我将dma_handle传递给设备.

这个函数的返回值是我可以在内核中使用的虚拟地址,事情是我不想为每个内存分配保存这个地址.

有没有办法将物理地址dma_handle转换为我可以在内核中使用的地址?像这些函数/宏之一的东西:

virt_to_page(kaddr)
page_to_pfn(page)
Run Code Online (Sandbox Code Playgroud)

是否有phy_to_kvirt宏/函数或任何其他方式将物理地址转换为内核虚拟地址?

谢谢

memory-management linux-device-driver linux-kernel dma

0
推荐指数
1
解决办法
2644
查看次数