linux-user: Fix /proc/cpuinfo output for hppa
The hppa architectures provides an own output for the emulated /proc/cpuinfo file. Some userspace applications count (even if that's not the recommended way) the number of lines which start with "processor:" and assume that this number then reflects the number of online CPUs. Since those 3 architectures don't provide any such line, applications may assume "0" CPUs. One such issue can be seen in debian bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1024653 Avoid such issues by adding a "processor:" line for each of the online CPUs. Signed-off-by: Helge Deller <deller@gmx.de> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <Y9QvyRSq1I1k5/JW@p100> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
cb88b7c214
commit
e0174afeea
@ -8232,11 +8232,17 @@ static int open_cpuinfo(CPUArchState *cpu_env, int fd)
|
||||
#if defined(TARGET_HPPA)
|
||||
static int open_cpuinfo(CPUArchState *cpu_env, int fd)
|
||||
{
|
||||
dprintf(fd, "cpu family\t: PA-RISC 1.1e\n");
|
||||
dprintf(fd, "cpu\t\t: PA7300LC (PCX-L2)\n");
|
||||
dprintf(fd, "capabilities\t: os32\n");
|
||||
dprintf(fd, "model\t\t: 9000/778/B160L\n");
|
||||
dprintf(fd, "model name\t: Merlin L2 160 QEMU (9000/778/B160L)\n");
|
||||
int i, num_cpus;
|
||||
|
||||
num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
|
||||
for (i = 0; i < num_cpus; i++) {
|
||||
dprintf(fd, "processor\t: %d\n", i);
|
||||
dprintf(fd, "cpu family\t: PA-RISC 1.1e\n");
|
||||
dprintf(fd, "cpu\t\t: PA7300LC (PCX-L2)\n");
|
||||
dprintf(fd, "capabilities\t: os32\n");
|
||||
dprintf(fd, "model\t\t: 9000/778/B160L - "
|
||||
"Merlin L2 160 QEMU (9000/778/B160L)\n\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user