[tip:,x86/urgent] x86: Fix early boot crash on gcc-10, third try   https://lore.kernel.org/patchwork/patch/1242401/ Message ID 158954160454.17951.15828011095215471629.tip-bot2@tip-bot2 State Accepted Commit a9a3ed1eff3601b63aea4fb462d8b3b92c7c1e7e He…
之前也关注过大小端的存储,可能时间久了,加之又之前的电脑抽象换成了当前的处理器寄存器的值判断,导致自己总是有点蒙圈.看Spec手册的时候,有时会无法与手册中某个Bit的值与RU/RW工具读出来的对应上.这就很尴尬了.专门花时间整理下该部分的内容: 1. 什么是大小端 先解释下什么是大小端(自行百度) 2. X86处理器用RU工具读取的值如何与Spec的描述进行Bit对应 2.1 如:下面是一个Spec中GP_LVL寄存器,另一个是RU工具读出来的.我想判断该寄存器的Bit3的值是多少,这下犯难了…
Q:I just installed propietary nvidia drivers, after that the glowing “e” plymouth theme was gone, only text and some ugly graphics appears. The version of nvidia drivers is 304. I try reinstalling the plymouth theme but it don’t work. sudo apt-get in…
未经许可谢绝以任何形式对本文内容进行转载! 一.环境配置 关于MIT课程中使用的JOS的配置教程网上已经有很多了,在这里就不做介绍,个人使用的是Ubuntu 16.04 + qemu.另注,本文章中贴出的代码均是JOS中未经修改的源代码,其中有一些细节是MIT课程中要求学生自己实现的. 二.Boot Loader代码分析 1.boot.S(AT&T汇编格式) #include <inc/mmu.h> # Start the -bit protected mode, jump into…
此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 解决问题 随着spring boot 框架的逐步使用,我们期望对于一些已有的系统进行改造,做成通用的脚手架,方便在后续新项目中继续使用. 本章主要介绍了如何采用Spring Boot改造传统的jsp项目. 难点 首先,Spring Boot + JSP的方式肯定是可以使用的.不过官方早就说过不推荐使用jsp来进行前端页面的开发,官方推荐的是Themeleaf,更加符合现在前后端分离的开发模式. 使用Spr…
写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean Definition到底是什么,咱们对着接口,逐个方法讲解 曹工说Spring Boot源码(3)-- 手动注册Bean Definition不比游戏好玩吗,我们来试一下 曹工说Spring Boot源码(4)-- 我是怎么自定义ApplicationContext,从json文件读取bean de…
  原文  http://resources.infosecinstitute.com/system-address-map-initialization-x86x64-architecture-part-2-pci-express-based-systems/   This article is the second part of a series that clarifies PCI expansion ROM address mapping to the system address m…
作者信息 作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核版本: Linux-4.10 Busybox版本:busybox-1.24.2 工具链: gcc 具备的功能 模拟一个双核或者单核的x86架构的系统,根文件系统用ramdisk的形式,跟Host之间采用NFS的方式实现文件共享. 正文 1.Qemu的编译安装 请参考博文用qemu搭建aarch64学…
学习操作系统最好的方法就是自己编写新的操作系统,或者修改已有的操作系统.但是如果在真机上完成这个过程,调试会成为一个很大的问题.利用虚拟机来完成,可以使调试过程变得简单,而且能节约很多开关机的时间. Bochs是一个仿真X86机器的软件,它仿真了所有的机器指令,因此在上面跑的程序跟跑在真机上的效果完全一样,很适合拿来搭建开发环境. 下面就来聊一聊怎么搭这个开发环境. 我使用的主机操作系统为ubuntu16.04. 第一步:下载并安装仿真软件bochs 从http://bochs.sourcefo…
bootloader支持启动多个Linux 内核安装(X86平台) 1. cparch/x86/boot/bzImage /boot/vmlinuz-$version 2. cp $initrd /boot/ 3. 修改/etc/grub.conf或者/etc/lilo.conf $version为所编译的内核版本号 文件linux-2.6.32.2.tar.bz2在目录/home/x86下. #tar jxvflinux-2.6.32.2.tar.bz2 #cd linux-2.6.32 #m…
1 任务 为了学习计算机底层和os,我给自己布置了一个任务:在x86硬件上,使用c和nasm来显示一张bmp图片.完成这个任务,前后估计花了2个月的业余时间. 这个任务涉及了很多知识点,包括:启动区.保护模式.nasm汇编.c和nasm汇编互调.ld链接.硬盘io读取.显卡调色板模式.bmp图片格式.bios中断指令.c指针操作内存.borch虚拟机.binutils工具集.makefile等. 2 环境 ubuntu borchs nasm和 c PS:c代码遵循google的C++ 风格指南…
整理了下网上的资料,归类了下,大似表述是这样的:IBM/PC兼容机,也就是Intel的i80x86指令架构,就简称了x86.x86并不是指32位环境,而是指80x86架构,这个架构目前有32位,64位两种.曾经听说还包括了过8位和16位,不过我没机会看过. 习惯上来说,x86架构就是32位的,但AMD扩展出了64位环境,而且64位硬件支持32位,称为amd64intel叫EM64T,EM64T本质上和amd64一样都是IA-32的增强版本,Xeon借助于EM64T可实现高达1TB(40bit)的…
1.关于x86架构 X86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X86是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序,现在X86已经广泛运用到了家用PC领域.x86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,例如:i386, 586,奔腾(pentium).由于早期intel的CPU编号都是如8086,80286来编号,由于这整个系列的CPU…
@echo off if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86 if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64 exit :x64 copy *.* %SYSTEMROOT%\SysWOW64\ regsvr32 %SYSTEMROOT%\SysWOW64\VZLPRClientCtrl.ocx exit :x86 copy *.*…
背景 上篇博客写了如何在gem5的full system模式运行alpha的指令编译的程序,这篇博客讲述如何在gem5的full system模式运行x86指令集编译的程序,这两种方式非常类似. 首先需要安装gem5-stable,可以参考我前面的一篇博客: http://blog.csdn.net/wyj7260/article/details/8267345 这篇文章介绍full system  in  x86. 安装过程: 下载full system需要的两个包: 首先在安装好gem5-s…
Jni目录下新增Application.mk,加入 APP_ABI := armeabi armeabi-v7a x86 mips 上面的平台可加可减,全编的话可以写为 APP_ABI := all 如果不同的平台需要引入不同的静态库,如我的工程引用了curl,则加入条件编译 LOCAL_MODULE := curl ifeq ($(TARGET_ARCH_ABI),armeabi) LOCAL_SRC_FILES := ../armeabi/libcurl.a else ifeq ($(TAR…
x64 = x86_64 = amd64 64位指令集,是对IA-32的扩展,由AMD提出,implemented by AMD,Intel.可兼容32位指令集(IA-32) 目前大部分64位计算机均使用这套指令集. 为什么叫x86-64,因为它是X86的一部分,兼容X86的其他指令集(32-bit,16-bit). 详见wiki x86-64 (also known as x64, x86_64 and AMD64[note 1]) is the 64-bit version of the x…
问题: 最近在用三星的一款i5处理器的Windows平板,和iPad,以及其他使用ARM处理器的手机相比,发热量大很多,甚至需要借助风扇来散热,耗电量也大了不少. 那么就很奇怪,在主频相差不大,并且实际执行效果差不多的情况下,x86架构的处理器的发热量和功耗为什么会那么大?这种差异到底是硬件以及处理器的指令集本身的问题,还是软件层面的问题? 回答1: 说x86和ARM处理器“实际执行效果差不多”其实有所不妥.楼主也说了比较的几个设备主要是windows平板,ipad和智能手机.这些平台上的程序都…
1.cmd窗口中输入emulator -avd test 启动AVD时报错: Running an x86 based Android Virtual Device (AVD) is 10x faster. We strongly recommend creating a new AVD. 这个说的是使用一个x86的模拟器比使用arm内核的要快10倍,所以这只是个提示,让你换成内核为x86的模拟器呢!不换的话你就只能等了,操作每一步都可能要等个好三四秒. 我的是等了6.7分钟界面一直卡着. 2.…
X86寄存器 ·x86寄存器分类: 8个通用寄存器:EAX.EBX.ECX.EDX.ESI.EDI.ESP.EBP 1个标志寄存器:EFLAGS 6个段寄存器:CS.DS.ES.FS.GS.SS 5个控制寄存器:CR0.CR1.CR2.CR3.CR4 8个调试寄存器:DR0.DR1.DR2.DR3.DR4.DR5.DR6.DR7 4个系统地址寄存器:GDTR.IDTR.LDTR.TR 其他寄存器:EIP.TSC等.   一.          通用寄存器 32位 16位 8位 EAX AX AH…
计算机组成 3 指令系统体系结构 3.2 x86体系结构 X86是商业上最为成功,影响力最大的一种体系结构.但从技术的角度看,它又存在着很多的问题,那我们就来一起分析X86这种体系结构的特点. 要探讨x86体系结构,我们就得从8086开始说起.8086是英特尔在1978年推出的一款16位的微处理器. 它内部的通用寄存器为16位,对外有16根数据线和20根地址线,因此可以访问的存储单元数量为2的20次方,也就是1MByte.而CPU发到存储器的地址,我们称为物理地址,8086的物理地址采用了段加偏…
注:本分类下文章大多整理自<深入分析linux内核源代码>一书,另有参考其他一些资料如<linux内核完全剖析>.<linux c 编程一站式学习>等,只是为了更好地理清系统编程和网络编程中的一些概念性问题,并没有深入地阅读分析源码,我也是草草翻过这本书,请有兴趣的朋友自己参考相关资料.此书出版较早,分析的版本为2.4.16,故出现的一些概念可能跟最新版本内核不同. 此书已经开源,阅读地址 http://www.kerneltravel.net 注解:不同平台有不同的i…
ARM.X86和AI处理器的区别 目前主要的处理器架构有: X86: Intel, AMD, 海光, 兆芯 ARM: 华为,飞腾,华芯通,Cavium,Ampere,富士通,亚马逊 POWER:IBM, 中晟宏芯 MIPS:龙芯 Alpha:申威  ARM 架构是开放性的商业 IP 授权,x86 是封闭架构,美国 Intel 和 AMD 对知识产权处于垄断地位 (PS:现在华为等国内公司研发多以ARM架构为主) ARM 比 x86 架构的优势和劣势 优势: 1) 物理核心更多,适用于当前数据中心…
之前一直在linux下编译FFmpeg,最近换电脑了,尝试了下在mac下编译ffmpeg,特记录之. 一. 准备工作 1. 下载FFmpeg.(http://ffmpeg.org/download.html#releases),看了下最新的是4.1.4,我用的是3.4.6. 2. 下载mac上使用的NDK.(https://developer.android.google.cn/ndk/downloads/index.html), 我用的是android-ndk-r14b-darwin-x86_…
ARM将为苹果开发高性能CPU核心 取代笔记本x86处理器? https://www.cnbeta.com/articles/tech/899421.htm . 之前苹果的哥们说过 谁特别在意自己的软件 终归会自己研发硬件. . 苹果2005年之前用的是 PowerPC架构 之后才换的x86架构.. . x86架构的确有太多的历史包袱 性能和能好过高.. . 这个帖子每年都会出现. 但是也发现arm的性能 的确有了很长远的进步, 很希望arm 能够真正用于数据中心业务 这样国产化也比较好一些.…
Linux系统下x86和ARM的区别有哪些? https://www.cnblogs.com/alantu2018/p/9209143.html 其实界限 越来越小了.. 问题: 最近在用三星的一款i5处理器的Windows平板,和iPad,以及其他使用ARM处理器的手机相比,发热量大很多,甚至需要借助风扇来散热,耗电量也大了不少. 那么就很奇怪,在主频相差不大,并且实际执行效果差不多的情况下,x86架构的处理器的发热量和功耗为什么会那么大?这种差异到底是硬件以及处理器的指令集本身的问题,还是软…
ylbtech-x86架构:x86架构 X86架构(The X86 architecture)是微处理器执行的计算机语言指令集,指一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合. 1.返回顶部 1. 中文名:X86架构 外文名:The X86 architecture 发布时间:1978年6月8日 发布历史:40年 释    义:微处理器执行的计算机语言指令集 发布公司:Intel 目录 1 X86历史 2 X86展望 2. 2.返回顶部 1. X86历史 1978年…
因为现在的项目使用的是 AnyCpu 在 x86 的设备使用的是x86,在x64使用的是x64,但是对于非托管代码,必须要在x64使用x64的dll,在x86使用x86的dll.在C++没有和C#一样的 AnyCpu 所以需要在项目运行在x86的时候加载x86的dll 本文告诉大家如何在代码引用不同的dll 使用宏 最简单的方法是编译两个版本,编译多个版本可以点击配置管理器,然后创建x86和x64,然后版本添加宏,这样就可以判断宏来使用不同的dll 点击活动解决方案平台,然后点击新建 选择项目属…
看了<计算机系统结构>.<深入理解计算机系统>.<大话处理器>等经典书籍,也在google上搜了一大堆资料,前前后后.断断续续的折腾了一个多月,终于想通了,现在把自己的思想心得记录下来,希望对有这方面困惑的朋友有些帮助. 本文主要关注以下几个问题. 什么是CPU的流水线?为什么需要流水线? 为什么需要内存屏障?在只有单个Core的CPU中是否还需要内存屏障? 什么是乱序执行?分为几种? MOB和ROB是干什么的? load buffer和store buffer的功能是…
There are three ways to pass options to the kernel and thus control its behavior: When building the kernel. Most of this book discusses these options. When starting the kernel. Usually, parameters are passed to the kernel when it is invoked from a bo…