Skip to content

Notes and utilities for reverse engineering JMicron's JMB582 / JMB585 SATA host controllers.

License

Notifications You must be signed in to change notification settings

cyrozap/jmb58x-re

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JMB58x Reverse Engineering

The JMicron JMB582 and JMB585 are SATA 6Gb/s host controllers with PCIe Gen3 interfaces. The JMB582 has one PCIe Gen3 lane and two SATA ports, while the JMB585 has two PCIe Gen3 lanes and five SATA ports.

Quick start

Software dependencies

Procedure

  1. Install dependencies.
  2. Dump the flash from your JMB58x card.
  3. Parse and print the configuration flash with ./tools/parse.py ..., where ... is the name of the binary you got when you dumped your JMB58x card's flash.
  4. Run make doc to generate XHTML documentation in doc/generated.

Obtaining a flash image

In addition to dumping the flash of a JMB58x device, a flash image and proprietary flash tool for JMB58x devices can be downloaded from here.

Reverse engineering notes

See doc/Notes.md for my reverse engineering notes.

Machine-readable register documentation can be found in data/regs-jmb58x.yaml. Run make doc in the root of this repository to generate XHTML documentation in doc/generated, or view an online preview of the register documentation here.

License

Except where otherwise stated:

About

Notes and utilities for reverse engineering JMicron's JMB582 / JMB585 SATA host controllers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published