Git Product home page Git Product logo

m2libc's Introduction

  • ๐Ÿ‘‹ Hi, Iโ€™m Jeremiah Orians
  • ๐Ÿ‘€ Iโ€™m interested in bootstrapping the world
  • ๐Ÿ’ž๏ธ Iโ€™m looking to collaborate on bootstrapping
  • ๐Ÿ“ซ How to reach me: join me on IRC on #[email protected]

m2libc's People

Contributors

fosslinux avatar maxhearnden avatar oriansj avatar rick-masters avatar schierlm avatar stikonas avatar usa-reddragon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

m2libc's Issues

Undocumented encoding of sal_eax,cl breaks Virtual Box

Live-bootstrap (which uses this repo) freezes when run on VirtualBox.

The root cause is that VirtualBox does not support the encoding of sal_eax,cl as D3F0.

sal_eax,cl should be D3E0 which works with VirtualBox.

The D3F0 encoding can be described as D3 /6 which is not documented in the Intel documentation:
http://web.archive.org/web/20190606075330/https://software.intel.com/sites/default/files/managed/a4/60/325383-sdm-vol-2abcd.pdf

SHL and SAL are two different mnemomics for the same instruction. The both should be encoded using D3 /4, which is D3 E0 for sal_eax,cl.

Also see:
https://www.felixcloutier.com/x86/sal:sar:shl:shr
https://stackoverflow.com/questions/8373415/difference-between-shl-and-sal-in-80x86

Also, running nasm on both sal eax, cl and shl eax, cl produces D3 E0.

Technically real processors probably work with D3 F0 but it is probably easier and definitely faster to fix this here than to get Oracle to support an undocumented opcode in VirtualBox.

This issue applies to both x86 and amd64. The encoding of sal_rax,cl for amd64 should be 48D3E0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.