标签: x86

什么决定了中断是 IO-APIC-edge 还是 IO-APIC-level?

查看/proc/interruptsx86 Linux 上的内容,我看到一些中断IO-APIC-edgeIO-APIC-level.

我想知道是什么决定了中断类型,是中断产生设备、中断控制器(APIC)、Linux内核还是BIOS?

(我想知道的原因是因为我将 PCI 卡从双处理器 Pentium III 系统IO-APIC-level移到了双处理器 Xeon 系统,在那里它被识别为IO-APIC-edge

linux pci hardware interrupt x86

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

mplayer2 的编译器标志以针对旧硬件对其进行优化

我只是mplayer2 从源 ( git://git.mplayer2.org/mplayer2-build.git)编译,因为存储库 (ubuntu 12.04) 版本在我的系统上不起作用。由于我有旧硬件,我只是想知道是否有一些编译器标志可以用来为我的硬件优化它。

CPU 是 Athlon XP 2200+(移动),1GB RAM,显卡:Nvidia GeForce4 420 Go。

我也想在另一个具有类似规格的旧系统上做同样的事情:

CPU:Athlon 1,2 GHZ,1GB RAM,图形:[SiS] 65x/M650/740

compiling mplayer x86

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

什么是 64 位 Linux 可以做而 32 位 linux 不能做的?

我从 fdcserver 订购了一个服务器。然后我意识到,除非更改,否则 fdcserver 实际上默认提供 32 位操作。

我使用 SSH 登录,输入uname -m,令我震惊的是我看到我实际上运行的是 32 位 Linux。

我肯定会在接近月底时改变这一点。同时,这个 32 位操作系统的限制是什么?

我可以使用服务器安装的所有 32 GB 内存吗?

linux 64bit memory 32bit x86

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

bash: ./idaq: 没有那个文件或目录

$ uname -a
Linux kali 4.3.0-kali1-amd64 #1 SMP Debian 4.3.3-5kali4 (2016-01-13) x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Kali
Description:    Kali GNU/Linux Rolling
Release:    kali-rolling
Codename:   kali-rolling
Run Code Online (Sandbox Code Playgroud)

最近,我从 hex-rays 网站下载了 IDA Demo。下载并解压缩后,我移动到它的目录内容。但是当我运行 ./idaq 命令时。我收到了:

$ ./idaq
bash: ./idaq: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我试图运行这个命令

$ file ./idaq
./idaq: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, 
interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, 
BuildID[ha1]=2b4f4a30e791c6fa175a4d44c868ea9ac8f9d7da, stripped
Run Code Online (Sandbox Code Playgroud)

然后我知道它是一个 32 位的目标文件。经过一些谷歌搜索后,我转到此页面在 64 位系统上运行 32 位二进制文​​件时获取“未找到”消息 …

executable 32bit x86 kali-linux

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

在实际 386 硬件上工作的 glibc 的最高版本

我需要构建一个可以在 ACTUAL 386 类硬件上运行的最小 Linux 环境。我知道我必须使用内核 <3.8,这不是问题。问题在于glibc,因为似乎最近的版本(现在我尝试过Glibc-2.23)仅使用 386 代码不起作用(甚至编译)。我设法为 i486 编译,但它在实际硬件上不起作用。我已经在许多不同的 486 系统上测试过,问题总是一样的 - 内核启动,挂载rootfs,然后执行init,失败并sysdeps/i386/cacheinfo.c在函数handle_intel中出现错误,错误是断言maxcpuid>=2失败,此时系统挂起。在 i586 类机器(Intel Pentium、Pentium MMX)上也会发生同样的情况。使用 i686 类硬件(Pentium PRO 及更高版本)一切正常。不幸的是,所有软件包(包括 glibc)都带有-march=i486 -mcpu=i486标志,gcc-5.3.0使用“现成的”旧 PC 发行版(如 dslinux 或 puppylinux)是不可能的,因为这些非常过时且有限。有任何想法吗?

linux compiling glibc x86

5
推荐指数
0
解决办法
327
查看次数

为什么 ondemand 不能用作 cpu 频率缩放的调控器?

考虑以下:

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors 
performance powersave
$ cat /proc/config.gz | gunzip | grep -i ondemand
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
Run Code Online (Sandbox Code Playgroud)

我不明白为什么ondemand没有可用的州长。我还需要在哪里查看以及我需要做什么才能启用ondemand

linux cpu x86

5
推荐指数
0
解决办法
1496
查看次数

“非法指令(核心转储)”究竟是什么意思?

我看到了很多解决问题的解决方案,例如

非法指令(核心转储)

但是,我想知道这到底是什么意思?是什么导致了该错误,其根本原因是什么?CPU 是否得到了它认为是指令但无法解码的人?引擎盖下会发生什么来产生该错误?

dmesg,我看到

[429572.598803] traps: test[4054] trap invalid opcode ip:400066 sp:ffac8cc0 error:0 in test[400000+1000]
[429758.598292] traps: test[4401] trap invalid opcode ip:400066 sp:ffa3f990 error:0 in test[400000+1000]
[430066.170626] traps: test[4854] trap invalid opcode ip:400066 sp:ff8ab000 error:0 in test[400000+1000]
[430439.855002] traps: test[5212] trap invalid opcode ip:8048071 sp:ffce2fa0 error:0 in test[8048000+1000]
Run Code Online (Sandbox Code Playgroud)

cpu error-handling x86 linux-kernel intel

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

开膛手约翰的 SSE2 要求

john在 Kali x86 中有点问题。长话短说,我不允许john在安装到 LV 的 Kali Linux 2.0 下运行,但我记得我能够在 VM 中运行旧版 Kali 和旧版 john。错误是:

抱歉,此版本需要 SSE2

好吧,我认为 Kali 以足够的 CPU 运行,所以我查看了它,每个核心的结果如下:

root@kali:~# cat /proc/cpuinfo

 model name : Intel(R) Core(TM)2 Duo CPU     T5800  @ 2.00GHz
 microcode  : 0xa4
 cpu MHz    : 800.000
 cache size : 2048 KB
 flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat 
              pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm …
Run Code Online (Sandbox Code Playgroud)

x86 kali-linux john-the-ripper

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

Linux 权限 UID 0 与 Ring 0

我正在为计算机安全考试而学习,我正在努力理解以下示例问题。

'解释在 x86 上在 ring 0 中运行和在 Linux 中作为 UID 0 运行之间的区别。举一个例子,说明每个人都能实现但另一个不能。'

我目前的理解是 x86 上的 ring 0 是最高特权的操作系统级别,内核代码在 ring 0 中运行。 UID 0 是基本上可以运行任何东西的 linux 超级用户。以我目前对这些概念的理解,我不明白如何回答这个问题。

请注意,这不是作业问题,也不是我要评分的问题,它只是学习材料。

linux kernel x86

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

带有 KVM 的 QEMU 具有不同的主机/来宾架构

我的来宾操作系统是 x86(.vmdk 格式),从 QEMU 文档看来,由于我的主机是 ARM Raspberry Pi 3,即使在内核中启用 KVM,我也无法利用它。

那是对的吗?

kvm virtual-machine arm x86 qemu

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