86

x86机器上运行arm64 docker

Docker Hub 上可以找到各种非 x86_64 平台的镜像,但是在x86上直接运行会报错: panic: standard_init_linux.go:175: exec user process caused “exec format error” [recovered] 在 x86_64 ......
机器 docker x86 arm 86

自制x86 Bootloader开发笔记(4)——— 编写ELF Loader

前言 我们的Bootloader目标是加载64位的ELF可执行文件,因此需要理解64位ELF文件的结构,并且支持运行ELF文件。 ELF文件结构 ELF文件的结构如下图所示: 它包含了ELF头部,一个可选的Program Header Table,多个Section和一个Section Header ......
Bootloader 笔记 Loader x86 ELF

自制x86 Bootloader开发笔记(3)——— 进入长模式

前言 本项目是基于IA32架构架构(32位Intel架构)的,而IA32架构有以下的操作模式: 实模式、保护模式、虚拟8086模式和系统管理模式。这些模式被称为 传统模式。 实模式是计算机刚启动时的模式,在实模式下可以随意访问可用的内存地址,实模式比较简单直接,但是随着操作系统的发展,实模式这种直接 ......
Bootloader 模式 笔记 x86 86

sniperoj-pwn100-shellcode-x86-64

来源 本题来自ctfi-wiki,是基本ROP中shellcode的一道例题 查看保护 程序只开启了位置无关保护 PIE 并且有可写可执行的段 反汇编 发现程序中直接输出了buf的地址,所以PIE就不起作用了 可以看到,后面read函数还调用了buf,很显然就是要利用buf这个段了 然后在汇编代码发 ......

x86架构上构建arm64架构的docker镜像

需求项目需要提供arm64架构上的centos7对应docker镜像,然后本地宿主机只有x86架构机器,因此需要在x86机器上构建centos arm64架构的docker镜像 环境宿主机操作系统:centos7.7 amd64架构docker版本:19.03.15 镜像构建拉取arm64版本cen ......
架构 镜像 docker x86 arm

x86宕机日志解读1

下面以一个典型的x86服务的宕机日志为例进行解读: [330931.874444] BUG: unable to handle kernel paging request at ffffffffa22a4668 [330931.874532] PGD 3a23067 P4D 3a23067 PUD ......
日志 x86 86

centOS6.5 无法使用yum源的问题 removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt

一次在临时服务器执行 yum命令出现报错问题: removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt ...... 1、修改fastestmirror.conf的配置参数 sed ......
mirrorlist yum removing centOS6 mirrors

make: x86_64-w64-mingw32-gcc: Command not found

001、问题 make 报错:make: x86_64-w64-mingw32-gcc: Command not found 002、解决方法 dnf install mingw64-gcc 003、测试安装效果 参考: 01、https://command-not-found.com/x86_64 ......
Command found mingw make 64

gcc 为什么在arm 开发板上 就是编译的arch64 , 在虚拟机中编译的就是 x86

在开发板上,编译命令如下, 并且程序也是可以运行的。 看看原因。 所以 在板子上编译的是 aarch64 架构的。 ......
就是 arch gcc arm x86

饮冰三年-人工智能-Django淘宝拾遗-86- Django Debug Toolbar调试工具

在开发 Django 应用程序时,调试是不可或缺的一部分。Django Debug Toolbar 是一个强大的调试工具,可以帮助开发者深入了解应用程序的性能和执行细节。本文将介绍 Django Debug Toolbar 的安装步骤以及如何在 Django 应用程序中使用该工具。 项目使用的是gi ......
Django 人工智能 人工 Toolbar 智能

自制x86 Bootloader开发笔记(2)——— Bootloader设计与启动区代码实现

计算机启动流程简介 要知道如何设计bootloader,需要先了解一下计算机启动的流程。具体可见引用1,这里只需要关注以下这一点即可: 系统启动后会自动将硬盘的第一个扇区(主引导记录,MBR)加载至内存0x7c00处,并检查MBR的第511和第512个字节是否为0x55和0xaa,如果是,则跳转至0 ......
Bootloader 代码 笔记 x86 86

x86平台SIMD编程入门(5):提示与技巧

1、提示与技巧 访问内存的成本非常高,一次缓存未命中可能会耗费100~300个周期。L3缓存加载需要40~50个周期,L2缓存大约需要10个周期,即使L1缓存的访问速度也明显慢于寄存器。所以要尽量保持数据结构对SIMD友好,优先选择std::vector、CAtlArray、eastl::vecto ......
技巧 平台 SIMD x86 86

x86平台SIMD编程入门(4):整型指令

1、算术指令 算术类型 函数示例 加 _mm_add_epi32、_mm256_sub_epi16 减 _mm_sub_epi32、_mm256_sub_epi16 乘 _mm_mul_epi32、_mm_mullo_epi32 除 无 水平加/减 _mm_hadd_epi16、_mm256_hsu ......
指令 平台 SIMD x86 86

x86平台SIMD编程入门(3):浮点指令

1、算术指令 算术类型 函数示例 备注 加 _mm_add_sd、_mm256_add_ps 减 _mm_sub_sd、_mm256_sub_ps 乘 _mm_mul_sd、_mm256_mul_ps 除 _mm_div_sd、_mm256_div_ps 平方根 _mm_sqrt_sd、_mm256 ......
浮点 指令 平台 SIMD x86

x86平台SIMD编程入门(2):通用指令

1、重解释转换 虽然128位的XMM寄存器在硬件上只是256位YMM寄存器的下半部分,但在C++中它们是不同的类型。有一些intrinsic函数可以将它们重新解释为不同的类型,如下表所示,行代表源类型,列代表目标类型。 __m128 __m128d __m128i __m256 __m256d __ ......
指令 平台 SIMD x86 86

x86平台SIMD编程入门(1):SIMD基础知识

1、简介 SIMD(Single Instruction, Multiple Data)是一种并行计算技术,它通过向量寄存器存储多个数据元素,并使用单条指令同时对这些数据元素进行处理,从而提高了计算效率。SIMD已被广泛应用于需要大量数据并行计算的领域,包括图像处理、视频编码、信号处理、科学计算等。 ......
SIMD 基础知识 基础 知识 平台

C#中无法将文件“obj\x86\Debug\BookShoopTuto.exe”复制到“bin\Debug\BookShoopTuto

因为任务多开了,数据无法写入也是因为这个 去任务管理区删掉运行的项目就可以了(删掉BookShoopTuto) 参考博客—— https://blog.csdn.net/nxg0916/article/details/126782186 ......
BookShoopTuto Debug 文件 obj exe

钡铼技术 工控机选购指南:理解X86和ARM处理器的区别

X86和ARM是两种不同的处理器架构,它们在工控机中的应用也有所不同。 X86架构的处理器是英特尔公司和AMD公司生产的,它们主要应用于个人电脑和服务器等领域。X86架构的处理器具有良好的通用性和兼容性,可以运行各种操作系统和应用软件。X86架构的处理器的性能强劲,适合处理复杂的计算任务,但也相对较 ......

ELF文件结构分析(x86 gnu版本)

为了学习使用objdump和size命令,以simple_section.c为例进行分析。 编译环境是x86 ubuntu,首先编译这个文件。 gcc -c simple_section.c 命令解释 objdump 作用:分析二进制文件的内容信息 objdump --help Usage: obj ......
版本 结构 文件 ELF x86

自制x86 BOOTLADER开发笔记(1)——— 开发环境配置

前言 数年前,出于对于操作系统内核的好奇和兴趣,看了一些自制内核资料和教程,断断续续地也写了一个简单的的玩具内核。 在学习的过程中,往往第一步遇到的问题就是内核的加载和系统的引导,发现不少教程都使用grub等现成的工具直接完成这一步骤,这样能快速的完成读取硬盘、加载内核文件、探测内存等这些dirty ......
BOOTLADER 环境 笔记 x86 86

DriverX86Property.props

<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ImportGroup Label="Pr ......
Property DriverX props 86

x86多核启动代码实现

前言 对于多核CPU,开机上电后,最开始其实只有一个cpu会启动,称为bootstrap processor (BSP) ,而其他的核心则称为application processors (APs)。BSP的启动无需操心,而启动AP则需要我们自己代码实现,学习时发现少有相关的资料,也踩了一些坑,因此 ......
代码 x86 86

快速将一个x86架构的开源软件源码修改成loongarch架构的源码

将一个x86架构的开源软件源码修改成loongarch架构的源码是一个复杂的过程,需要深入了解两种架构的差异、编译工具链以及相关开发工具的使用。以下是一个大致的步骤,供您参考: 了解LoongArch架构:首先,您需要了解LoongArch架构的特点、指令集、寄存器使用方式等。可以阅读LoongAr ......
架构 源码 loongarch 软件 x86

【发现一个问题】macos m2 下无法使用 x86_64-linux-musl-gcc 链接含有 avx512 指令的 c 代码

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 一开始是使用 golang 中的 cgo 来编译: env CC= c CGO_ENABLED=1 GOOS=linux GOARCH=amd64 \ CGO ......
linux-musl-gcc 指令 代码 链接 问题

x86开机过程(Linux0.11)

x86开机 参考于:【哈工大】操作系统 李治军、linux-0.11源码。 需要读入执行的内容有:boot扇区中的bootsect、setup和system。源文件处于启动盘中排在前面扇区: 上电时 刚开机时处于实模式。CS=0xFFFF、IP=0x0000。寻址0xFFFF0(ROM BIOS映射 ......
过程 Linux0 Linux x86 86

微处理器:80x86

目录微处理器8088/8086硬件结构寄存器段寄存器的使用80386硬件结构寄存器通用寄存器指令指针和标志寄存器控制寄存器段寄存器和段描述寄存器系统地址寄存器调试寄存器测试寄存器 微处理器 参考自:吴宁,乔亚男.微型计算机原理与接口技术(第4版)[M].北京:清华大学出版社,2016-9:38-58 ......
微处理器 80x86 80x x86 80

VMware Workstation安装安卓Android-X86

原文:VMware Workstation安装安卓Android-X86 最新版 - ..Summer - 博客园 (cnblogs.com) 进到这个页面的人想毕已经知道 Android-X86 是什么东东,有什么用了,这里就不浪费时间啦,不知道的自己百度吧 一、准备工作 官网下载地址:https ......
Workstation Android-X Android VMware 86

安装 Android x86 并开启 arm 兼容

安装 Android x86 并开启 arm 兼容 尝试了各种安卓模拟器,要么不能设置代理(BlueStacks),要么/system目录没办法设置。 获取 Android x86 这里使用的是 Android 7 版本, 在本次操作时 houdini 对 Android 8 / Android 9 ......
Android x86 arm 86

This kernel requires an x86-64 CPU, but only detected an i686CPU. Unable to boot – please use a kernel appropriate for your CPU.

原文链接:https://www.longkui.site/program/other/i686/4759/ 0.背景 买了一台小电脑,STAR TC-8080 型号,想给他装个Linux系统。 给他装Ubuntu 18的时候,开始报错: This kernel requires an x86-64 ......
kernel CPU appropriate detected requires

Windows平台不同机器字长(x86/x64)程序/库互操作解决方法

1. 问题背景 某系统集成软件研发项目中,有设备厂家仅提供了C# 可调用的x64动态库,而另有一厂家仅提供x86动态库,均是C++编译版本。x86动态库直接导出函数失败,环境是VS2019,dotnet framework 4.7.2。 2. 解决思路 网上查阅大量资料也就几篇博文后,给出的解决方案 ......
机器字 机器 Windows 程序 方法