From 9d7d39fcb1a52c503ed3e1cd4e326db735e02acf Mon Sep 17 00:00:00 2001 From: blacktop Date: Sat, 5 Mar 2022 17:44:54 -0700 Subject: [PATCH] chore: more cleanup and refactoring --- cmd/ipsw/cmd/device_tree.go | 4 +- cmd/ipsw/cmd/download_ota.go | 4 +- cmd/ipsw/cmd/info.go | 21 +-- cmd/ipsw/cmd/updatedb.go | 76 ++++++----- pkg/devicetree/devicetree.go | 65 +++++---- pkg/info/data/ipsw_db.json | 2 +- pkg/info/data/procs.json | 2 +- pkg/info/db.go | 254 +++++++++++++++++++++-------------- pkg/info/info.go | 19 +-- pkg/plist/build_manifest.go | 77 +++++++++++ pkg/plist/plist.go | 10 +- pkg/xcode/xcode.go | 36 +++++ 12 files changed, 374 insertions(+), 196 deletions(-) diff --git a/cmd/ipsw/cmd/device_tree.go b/cmd/ipsw/cmd/device_tree.go index 3a6304456..42d1b7058 100644 --- a/cmd/ipsw/cmd/device_tree.go +++ b/cmd/ipsw/cmd/device_tree.go @@ -104,7 +104,7 @@ var deviceTreeCmd = &cobra.Command{ if err != nil { return errors.Wrap(err, "failed to parse device-tree") } - utils.Indent(log.Info, 2)(fmt.Sprintf("Model: %s", s.Model)) + utils.Indent(log.Info, 2)(fmt.Sprintf("Model: %s", s.ProductType)) utils.Indent(log.Info, 2)(fmt.Sprintf("Board Config: %s", s.BoardConfig)) utils.Indent(log.Info, 2)(fmt.Sprintf("Product Name: %s", s.ProductName)) } @@ -143,7 +143,7 @@ var deviceTreeCmd = &cobra.Command{ if err != nil { return errors.Wrap(err, "failed to parse device-tree") } - utils.Indent(log.Info, 2)(fmt.Sprintf("Model: %s", s.Model)) + utils.Indent(log.Info, 2)(fmt.Sprintf("Model: %s", s.ProductType)) utils.Indent(log.Info, 2)(fmt.Sprintf("Board Config: %s", s.BoardConfig)) utils.Indent(log.Info, 2)(fmt.Sprintf("Product Name: %s", s.ProductName)) } diff --git a/cmd/ipsw/cmd/download_ota.go b/cmd/ipsw/cmd/download_ota.go index 6989b4fb1..a993ccbeb 100644 --- a/cmd/ipsw/cmd/download_ota.go +++ b/cmd/ipsw/cmd/download_ota.go @@ -122,7 +122,6 @@ var otaDLCmd = &cobra.Command{ otaInfo := viper.GetBool("download.ota.info") otaInfoType := viper.GetString("download.ota.info-type") output := viper.GetString("download.ota.output") - // verify args if len(dyldArches) > 0 && !remoteDyld { return errors.New("--dyld-arch || -a can only be used with --dyld || -d") @@ -361,8 +360,7 @@ var otaDLCmd = &cobra.Command{ // download file downloader.URL = url downloader.DestName = destName - err = downloader.Do() - if err != nil { + if err := downloader.Do(); err != nil { return fmt.Errorf("failed to download file: %v", err) } } else { diff --git a/cmd/ipsw/cmd/info.go b/cmd/ipsw/cmd/info.go index 4d5c15d87..348f3d22d 100644 --- a/cmd/ipsw/cmd/info.go +++ b/cmd/ipsw/cmd/info.go @@ -26,13 +26,13 @@ import ( "fmt" "os" "path/filepath" + "strings" "text/tabwriter" "github.com/apex/log" "github.com/blacktop/ipsw/internal/download" "github.com/blacktop/ipsw/pkg/info" "github.com/dustin/go-humanize" - "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -57,7 +57,7 @@ var infoCmd = &cobra.Command{ SilenceErrors: true, RunE: func(cmd *cobra.Command, args []string) error { - var pIPSW *info.Info + var i *info.Info if Verbose { log.SetLevel(log.DebugLevel) @@ -76,7 +76,7 @@ var infoCmd = &cobra.Command{ Insecure: insecure, }) if err != nil { - return errors.Wrap(err, "failed to create new remote zip reader") + return fmt.Errorf("failed to create new remote zip reader: %w", err) } if listFiles { w := tabwriter.NewWriter(os.Stdout, 0, 0, 1, ' ', 0) @@ -87,9 +87,9 @@ var infoCmd = &cobra.Command{ } w.Flush() } else { - pIPSW, err = info.ParseZipFiles(zr.File) + i, err = info.ParseZipFiles(zr.File) if err != nil { - return errors.Wrap(err, "failed to extract remote plists") + return fmt.Errorf("failed to parse plists in zip: %w", err) } } } else { @@ -113,17 +113,18 @@ var infoCmd = &cobra.Command{ w.Flush() } else { var err error - pIPSW, err = info.Parse(fPath) + i, err = info.Parse(fPath) if err != nil { - return errors.Wrap(err, "failed to extract and parse IPSW info") + return fmt.Errorf("failed to parse plists: %w", err) } } } if !listFiles { - fmt.Println("\n[IPSW Info]") - fmt.Println("===========") - fmt.Println(pIPSW) + title := fmt.Sprintf("[%s Info]", i.Plists.Type) + fmt.Printf("\n%s\n", title) + fmt.Println(strings.Repeat("=", len(title))) + fmt.Println(i) } return nil diff --git a/cmd/ipsw/cmd/updatedb.go b/cmd/ipsw/cmd/updatedb.go index 1fe2f5fa5..d25b7727c 100644 --- a/cmd/ipsw/cmd/updatedb.go +++ b/cmd/ipsw/cmd/updatedb.go @@ -25,12 +25,16 @@ import ( "bufio" "encoding/json" "fmt" + "io" "io/ioutil" "os" + "regexp" + "strings" "github.com/apex/log" "github.com/blacktop/ipsw/internal/download" "github.com/blacktop/ipsw/pkg/info" + "github.com/blacktop/ipsw/pkg/ota/types" "github.com/spf13/cobra" ) @@ -95,7 +99,7 @@ var updateDBCmd = &cobra.Command{ zr, err := download.NewRemoteZipReader(url, &download.RemoteConfig{}) if err != nil { - // log.WithError(err).Fatal("failed to create remote zip reader") + log.Error("failed to create remote zip reader") continue } i, err := info.ParseZipFiles(zr.File) @@ -115,42 +119,41 @@ var updateDBCmd = &cobra.Command{ if err != nil { log.WithError(err).Fatal("failed to parse remote zip") } - if err := i.GetDevices(&devices); err != nil { - log.WithError(err).Fatal("failed to get devices") + if i.Plists.Type == "OTA" { + foundMap := false + for _, f := range zr.File { + if regexp.MustCompile(`.*plist$`).MatchString(f.Name) { + switch { + case strings.HasSuffix(f.Name, "AssetData/boot/Firmware/device_map.plist"): + foundMap = true + dat := make([]byte, f.UncompressedSize64) + rc, err := f.Open() + if err != nil { + log.WithError(err).Fatal("failed to open file within zip") + } + defer rc.Close() + io.ReadFull(rc, dat) + dmap, err := types.ParseDeviceMap(dat) + if err != nil { + log.WithError(err).Fatal("failed to parse device map") + } + if err := i.GetDevicesFromMap(dmap, &devices); err != nil { + log.WithError(err).Fatal("failed to get devices") + } + } + } + } + if !foundMap { + if err := i.GetDevices(&devices); err != nil { + log.WithError(err).Fatal("failed to get devices") + } + } + } else { + if err := i.GetDevices(&devices); err != nil { + log.WithError(err).Fatal("failed to get devices") + } } - } else { - // for _, version := range []string{"9.0", "10.0", "11.0", "12.0", "13.0", "14.0", "15.0"} { - // for _, version := range []string{"10.0", "11.0", "12.0", "13.0", "14.0", "15.0"} { - // ipsws, err := download.GetAllIPSW(version) - // if err != nil { - // log.WithError(err).Fatal("failed to get IPSWs") - // } - // unique := make(map[string]bool, len(ipsws)) - // uniqueIPSWs := make([]download.IPSW, len(unique)) - // for _, i := range ipsws { - // if len(i.URL) != 0 { - // if !unique[i.URL] { - // uniqueIPSWs = append(uniqueIPSWs, i) - // unique[i.URL] = true - // } - // } - // } - // for _, ipsw := range uniqueIPSWs { - // zr, err := download.NewRemoteZipReader(ipsw.URL, &download.RemoteConfig{}) - // if err != nil { - // log.WithError(err).Fatal("failed to create remote zip reader") - // } - // i, err := info.ParseZipFiles(zr.File) - // if err != nil { - // // log.WithError(err).Fatal("failed to parse remote ipsw") - // continue - // } - // if err := i.GetDevices(&devices); err != nil { - // log.WithError(err).Fatal("failed to get devices") - // } - // } - // } - + } else { // TODO: add default "latest" URL streams here to collect new devices itunes, err := download.NewMacOsXML() if err != nil { log.WithError(err).Fatal("failed to create itunes API") @@ -170,6 +173,7 @@ var updateDBCmd = &cobra.Command{ } } } + // OUTPUT JSON dat, err := json.Marshal(devices) if err != nil { diff --git a/pkg/devicetree/devicetree.go b/pkg/devicetree/devicetree.go index 9c49fc4a2..acf69314e 100644 --- a/pkg/devicetree/devicetree.go +++ b/pkg/devicetree/devicetree.go @@ -5,6 +5,7 @@ import ( "bytes" "encoding/base64" "encoding/binary" + "time" "fmt" "io" @@ -16,7 +17,6 @@ import ( "github.com/apex/log" "github.com/blacktop/ipsw/internal/utils" - "github.com/pkg/errors" ) // Img4 DeviceTree object @@ -47,9 +47,11 @@ type DeviceTree map[string]Properties // Summary object type Summary struct { - ProductName string - BoardConfig string - Model string + ProductName string + ProductDescription string + ProductType string + BoardConfig string + Timestamp time.Time } // Summary prints out a summary of the DeviceTree @@ -67,11 +69,14 @@ func (dtree *DeviceTree) Summary() (*Summary, error) { if product, ok := (c)["product"]["product-name"].(string); ok { summary.ProductName = product } + if productDesc, ok := (c)["product"]["product-description"].(string); ok { + summary.ProductDescription = productDesc + } } } if model, ok := (*dtree)["device-tree"]["model"].(string); ok { - summary.Model = model + summary.ProductType = model compatible := (*dtree)["device-tree"]["compatible"] switch reflect.TypeOf(compatible).Kind() { case reflect.Slice: @@ -87,6 +92,24 @@ func (dtree *DeviceTree) Summary() (*Summary, error) { return nil, fmt.Errorf("devicetree model is not a string") } + if stamp, ok := (*dtree)["device-tree"]["time-stamp"].(string); ok { + location, err := time.LoadLocation("PST8PDT") + if err != nil { + return nil, fmt.Errorf("failed to load location PST8PDT: %v", err) + } + layout := "Mon Jan 2 15:04:05 MST 2006" + t, err := time.ParseInLocation(layout, stamp, location) + if err != nil { + return nil, err + } + zone, _ := time.Now().Zone() + location, err = time.LoadLocation(zone) + if err != nil { + return nil, fmt.Errorf("failed to load location %s: %v", zone, err) + } + summary.Timestamp = t.In(location) + } + return summary, nil } @@ -135,17 +158,6 @@ func (dtree *DeviceTree) GetModel() (string, error) { return "", fmt.Errorf("failed to get model") } -func findDeviceTreesInList(list []string) []string { - var validDT = regexp.MustCompile(`.*DeviceTree.*im4p$`) - dTrees := []string{} - for _, v := range list { - if validDT.MatchString(v) { - dTrees = append(dTrees, v) - } - } - return dTrees -} - func parseValue(value []byte) interface{} { // remove trailing NULLs value = bytes.TrimRight(value[:], "\x00") @@ -280,7 +292,7 @@ func Parse(ipswPath string) (map[string]*DeviceTree, error) { zr, err := zip.OpenReader(ipswPath) if err != nil { - return nil, errors.Wrap(err, "failed to open ipsw as zip") + return nil, fmt.Errorf("failed to open zip: %s", err) } defer zr.Close() @@ -293,7 +305,7 @@ func Parse(ipswPath string) (map[string]*DeviceTree, error) { dt[filepath.Base(f.Name)], err = ParseImg4Data(dtData) if err != nil { - return nil, errors.Wrap(err, "failed to parse DeviceTree") + return nil, fmt.Errorf("failed to parse Img4 DeviceTree: %v", err) } } else if regexp.MustCompile(`.*DeviceTree.*img3$`).MatchString(f.Name) { dtData := make([]byte, f.UncompressedSize64) @@ -303,7 +315,7 @@ func Parse(ipswPath string) (map[string]*DeviceTree, error) { dt[filepath.Base(f.Name)], err = ParseImg3Data(dtData) if err != nil { - return nil, errors.Wrap(err, "failed to parse DeviceTree") + return nil, fmt.Errorf("failed to parse Img3 DeviceTree: %w", err) } } } @@ -327,7 +339,7 @@ func ParseZipFiles(files []*zip.File) (map[string]*DeviceTree, error) { dt[filepath.Base(f.Name)], err = ParseImg4Data(dtData) if err != nil { - return nil, errors.Wrap(err, "failed to parse DeviceTree") + return nil, fmt.Errorf("failed to parse Img4 DeviceTree: %v", err) } } else if regexp.MustCompile(`.*DeviceTree.*img3$`).MatchString(f.Name) { dtData := make([]byte, f.UncompressedSize64) @@ -337,7 +349,7 @@ func ParseZipFiles(files []*zip.File) (map[string]*DeviceTree, error) { dt[filepath.Base(f.Name)], err = ParseImg3Data(dtData) if err != nil { - return nil, fmt.Errorf("failed to parse DeviceTree: %w", err) + return nil, fmt.Errorf("failed to parse Img3 DeviceTree: %w", err) } } } @@ -348,19 +360,14 @@ func ParseZipFiles(files []*zip.File) (map[string]*DeviceTree, error) { // Extract extracts DeviceTree(s) from ipsw func Extract(ipsw, destPath string) error { _, err := utils.Unzip(ipsw, destPath, func(f *zip.File) bool { - var validDT = regexp.MustCompile(`.*DeviceTree.*im4p$`) - if validDT.MatchString(f.Name) { + if regexp.MustCompile(`.*DeviceTree.*im4p$`).MatchString(f.Name) { return true } - validDT = regexp.MustCompile(`.*DeviceTree.*img3$`) - if validDT.MatchString(f.Name) { - return true - } - return false + return regexp.MustCompile(`.*DeviceTree.*img3$`).MatchString(f.Name) }) if err != nil { - return errors.Wrap(err, "failed to extract DeviceTree from ipsw") + return fmt.Errorf("failed to extract DeviceTree: %w", err) } return nil diff --git a/pkg/info/data/ipsw_db.json b/pkg/info/data/ipsw_db.json index cee07b6f5..9907af7b2 100755 --- a/pkg/info/data/ipsw_db.json +++ b/pkg/info/data/ipsw_db.json @@ -1 +1 @@ -{"ADP3,1":{"name":"J273","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"cpu_isa":"ARMv8.3-A","board_config":"J273AP","board_id":34}],"introduced":{}},"ADP3,2":{"name":"Developer Transition Kit","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"cpu_isa":"ARMv8.3-A","board_config":"J273aAP","board_id":66}],"introduced":{}},"AirPods2,1":{"name":"AirPods (2nd generation)","boards":[{"cpu":"H1","platform":"t2002","cpu_id":8194,"board_config":"B288AP","board_id":18}],"introduced":{}},"AirPods2,2":{"name":"AirPods Pro","boards":[{"cpu":"H1","platform":"t2002","cpu_id":8194,"board_config":"B298AP","board_id":4}],"introduced":{}},"AppleTV11,1":{"name":"Apple TV 4K (2nd generation)","boards":[{"cpu":"A12 Bionic","platform":"t8020","cpu_id":32800,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J305AP","board_id":8}],"mem_class":4,"introduced":{}},"AppleTV2,1":{"boards":[{"cpu":"A4","platform":"s5l8930x","cpu_id":35120,"arch":"armv7","cpu_isa":"ARMv7","board_config":"K66AP","board_id":16}],"introduced":{}},"AppleTV3,1":{"name":"AppleTV","boards":[{"cpu":"A5","platform":"s5l8942x","cpu_id":35138,"arch":"armv7","cpu_isa":"ARMv7","board_config":"J33AP","board_id":8}],"introduced":{}},"AppleTV3,2":{"name":"AppleTV","boards":[{"cpu":"A5","platform":"s5l8947x","cpu_id":35143,"arch":"armv7","cpu_isa":"ARMv7","board_config":"J33iAP"}],"introduced":{}},"AppleTV5,3":{"name":"Apple TV","boards":[{"cpu":"A8","platform":"t7000","cpu_id":28672,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J42dAP","board_id":52}],"mem_class":2,"introduced":{}},"AppleTV6,2":{"name":"Apple TV 4K","boards":[{"cpu":"A10X Fusion","platform":"t8011","cpu_id":32785,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"J105aDEV","board_id":3}],"mem_class":4,"introduced":{}},"Audio2,1":{"name":"AirPods (3rd generation)","boards":[{"cpu":"H1","platform":"t2002","cpu_id":8194,"board_config":"B688AP","board_id":32}],"introduced":{}},"AudioAccessory1,1":{"name":"HomePod","boards":[{"cpu":"A8","platform":"t7000","cpu_id":28672,"cpu_isa":"ARMv8.0-A","board_config":"B238aAP","board_id":56}],"introduced":{}},"AudioAccessory1,2":{"name":"HomePod","boards":[{"cpu":"A8","platform":"t7000","cpu_id":28672,"cpu_isa":"ARMv8.0-A","board_config":"B238DEV","board_id":27}],"introduced":{}},"AudioAccessory5,1":{"name":"HomePod mini","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"cpu_isa":"ARMv8-A ILP32","board_config":"B520AP","board_id":34}],"introduced":{}},"MacBookAir10,1":{"name":"MacBook Air (M1, 2020)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"cpu_isa":"ARMv8.5-A","board_config":"J313AP","board_id":38}],"introduced":{}},"MacBookPro17,1":{"name":"MacBook Pro (13-inch, M1, 2020)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"cpu_isa":"ARMv8.5-A","board_config":"J293AP","board_id":36}],"introduced":{}},"MacBookPro18,1":{"name":"MacBook Pro (16-inch, 2021)","boards":[{"cpu":"M1 Pro","platform":"t6000","cpu_id":24576,"cpu_isa":"ARMv8.5-A","board_config":"J316sAP","board_id":10}],"introduced":{}},"MacBookPro18,2":{"name":"MacBook Pro (16-inch, 2021)","boards":[{"cpu":"M1 Max","platform":"t6001","cpu_id":24577,"cpu_isa":"ARMv8.5-A","board_config":"J316cAP","board_id":10}],"introduced":{}},"MacBookPro18,3":{"name":"MacBook Pro (14-inch, 2021)","boards":[{"cpu":"M1 Pro","platform":"t6000","cpu_id":24576,"cpu_isa":"ARMv8.5-A","board_config":"J314sAP","board_id":8}],"introduced":{}},"MacBookPro18,4":{"name":"MacBook Pro (14-inch, 2021)","boards":[{"cpu":"M1 Max","platform":"t6001","cpu_id":24577,"cpu_isa":"ARMv8.5-A","board_config":"J314cAP","board_id":8}],"introduced":{}},"Macmini9,1":{"name":"Mac mini (M1, 2020)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"cpu_isa":"ARMv8.5-A","board_config":"J274AP","board_id":34}],"introduced":{}},"VirtualMac2,1":{"name":"Apple Virtual Machine 1","boards":[{"platform":"vmapple2","cpu_id":65024,"board_config":"VMA2MACOSAP","board_id":32}],"introduced":{}},"Watch1,1":{"name":"Apple Watch (1st generation) 38mm","boards":[{"cpu":"S1","platform":"s7002","cpu_id":28674,"arch":"armv7k","cpu_isa":"ARMv7k","board_config":"N27aAP","board_id":2}],"introduced":{}},"Watch1,2":{"name":"Apple Watch (1st generation) 42mm","boards":[{"cpu":"S1","platform":"s7002","cpu_id":28674,"arch":"armv7k","cpu_isa":"ARMv7k","board_config":"N28aAP","board_id":4}],"introduced":{}},"Watch2,3":{"name":"Apple Watch Series 2 38mm","boards":[{"cpu":"S1P","platform":"t8002","cpu_id":32770,"arch":"armv7k","cpu_isa":"ARMv7k","board_config":"N74AP","board_id":12}],"introduced":{}},"Watch2,4":{"name":"Apple Watch Series 2 42mm","boards":[{"cpu":"S1P","platform":"t8002","cpu_id":32770,"arch":"armv7k","cpu_isa":"ARMv7k","board_config":"N75AP","board_id":14}],"introduced":{}},"Watch2,6":{"name":"Apple Watch Series 1 38mm","boards":[{"cpu":"S1P","platform":"t8002","cpu_id":32770,"arch":"armv7k","cpu_isa":"ARMv7k","board_config":"N27dAP","board_id":2}],"introduced":{}},"Watch2,7":{"name":"Apple Watch Series 1 42mm","boards":[{"cpu":"S1P","platform":"t8002","cpu_id":32770,"arch":"armv7k","cpu_isa":"ARMv7k","board_config":"N28dAP","board_id":4}],"introduced":{}},"Watch3,1":{"name":"Apple Watch Series 3 (GPS + Cellular) 38mm","boards":[{"cpu":"S3 Non-LTE and LTE","platform":"t8004","cpu_id":32772,"arch":"armv7k","cpu_isa":"ARMv7k","board_config":"N111sDEV","board_id":29}],"introduced":{}},"Watch3,2":{"name":"Apple Watch Series 3 (GPS + Cellular) 42mm","boards":[{"cpu":"S3 Non-LTE and LTE","platform":"t8004","cpu_id":32772,"arch":"armv7k","cpu_isa":"ARMv7k","board_config":"N111bAP","board_id":30}],"introduced":{}},"Watch3,3":{"name":"Apple Watch Series 3 (GPS) 38mm","boards":[{"cpu":"S3 Non-LTE and LTE","platform":"t8004","cpu_id":32772,"arch":"armv7k","cpu_isa":"ARMv7k","board_config":"N121sAP","board_id":24}],"introduced":{}},"Watch3,4":{"name":"Apple Watch Series 3 (GPS) 42mm","boards":[{"cpu":"S3 Non-LTE and LTE","platform":"t8004","cpu_id":32772,"arch":"armv7k","cpu_isa":"ARMv7k","board_config":"N121bAP","board_id":26}],"introduced":{}},"Watch4,1":{"name":"Apple Watch Series 4","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N131sAP","board_id":8}],"mem_class":1,"introduced":{}},"Watch4,2":{"name":"Apple Watch Series 4","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N131bAP","board_id":10}],"mem_class":1,"introduced":{}},"Watch4,3":{"name":"Apple Watch Series 4","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N141sAP","board_id":12}],"mem_class":1,"introduced":{}},"Watch4,4":{"name":"Apple Watch Series 4","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N141bDEV","board_id":15}],"mem_class":1,"introduced":{}},"Watch5,1":{"name":"Apple Watch Series 5","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N144sAP","board_id":16}],"mem_class":1,"introduced":{}},"Watch5,10":{"name":"Apple Watch SE (GPS)","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N140bAP","board_id":42}],"mem_class":1,"introduced":{}},"Watch5,11":{"name":"Apple Watch SE (GPS + Cellular)","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N142sAP","board_id":44}],"mem_class":1,"introduced":{}},"Watch5,12":{"name":"Apple Watch SE (GPS + Cellular)","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N142bAP","board_id":46}],"mem_class":1,"introduced":{}},"Watch5,2":{"name":"Apple Watch Series 5","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N144bAP","board_id":18}],"mem_class":1,"introduced":{}},"Watch5,3":{"name":"Apple Watch Series 5","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N146sAP","board_id":20}],"mem_class":1,"introduced":{}},"Watch5,4":{"name":"Apple Watch Series 5","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N146bAP","board_id":22}],"mem_class":1,"introduced":{}},"Watch5,9":{"name":"Apple Watch SE (GPS)","boards":[{"cpu":"S4 Non-LTE and LTE","platform":"t8006","cpu_id":32774,"arch":"arm64e","cpu_isa":"ARMv8-A ILP32","board_config":"N140sAP","board_id":40}],"mem_class":1,"introduced":{}},"Watch6,1":{"name":"Apple Watch Series 6 (GPS)","boards":[{"platform":"t8301","cpu_id":33537,"arch":"arm64e","board_config":"N157sAP","board_id":8}],"mem_class":15,"introduced":{}},"Watch6,2":{"name":"Apple Watch Series 6 (GPS)","boards":[{"platform":"t8301","cpu_id":33537,"arch":"arm64e","board_config":"N157bAP","board_id":10}],"mem_class":15,"introduced":{}},"Watch6,3":{"name":"Apple Watch Series 6 (GPS + Cellular)","boards":[{"platform":"t8301","cpu_id":33537,"arch":"arm64e","board_config":"N158sAP","board_id":12}],"mem_class":15,"introduced":{}},"Watch6,4":{"name":"Apple Watch Series 6 (GPS + Cellular)","boards":[{"platform":"t8301","cpu_id":33537,"arch":"arm64e","board_config":"N158bAP","board_id":14}],"mem_class":15,"introduced":{}},"Watch6,6":{"name":"Apple Watch Series 7 (GPS)","boards":[{"platform":"t8301","cpu_id":33537,"arch":"arm64e","board_config":"N187sDEV","board_id":17}],"mem_class":15,"introduced":{}},"Watch6,7":{"name":"Apple Watch Series 7 (GPS)","boards":[{"platform":"t8301","cpu_id":33537,"arch":"arm64e","board_config":"N187bAP","board_id":18}],"mem_class":15,"introduced":{}},"Watch6,8":{"name":"Apple Watch Series 7 (GPS + Cellular)","boards":[{"platform":"t8301","cpu_id":33537,"arch":"arm64e","board_config":"N188sAP","board_id":20}],"mem_class":15,"introduced":{}},"Watch6,9":{"name":"Apple Watch Series 7 (GPS + Cellular)","boards":[{"platform":"t8301","cpu_id":33537,"arch":"arm64e","board_config":"N188bDEV","board_id":23}],"mem_class":15,"introduced":{}},"afw1,5":{"name":"AirTag","boards":[{"cpu":"H?","platform":"t2006","cpu_id":8198,"board_config":"B389AP","board_id":14}],"introduced":{}},"iBridge2,1":{"name":"Apple iBridge","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J137AP","board_id":10}],"introduced":{}},"iBridge2,10":{"name":"J213","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J213AP","board_id":24}],"introduced":{}},"iBridge2,12":{"name":"J140a","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J140aAP","board_id":55}],"introduced":{}},"iBridge2,14":{"name":"J152F","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J152fAP","board_id":58}],"introduced":{}},"iBridge2,15":{"name":"J230k","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J230kAP","board_id":63}],"introduced":{}},"iBridge2,16":{"name":"J214k","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J214kAP","board_id":62}],"introduced":{}},"iBridge2,19":{"name":"Apple iBridge","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J185AP","board_id":34}],"introduced":{}},"iBridge2,20":{"name":"Apple iBridge","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J185fAP","board_id":35}],"introduced":{}},"iBridge2,21":{"name":"J223","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J223AP","board_id":59}],"introduced":{}},"iBridge2,22":{"name":"J215","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J215AP","board_id":56}],"introduced":{}},"iBridge2,3":{"name":"J680","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J680AP","board_id":11}],"introduced":{}},"iBridge2,4":{"name":"J132","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J132AP","board_id":12}],"introduced":{}},"iBridge2,5":{"name":"Apple iBridge","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J174AP","board_id":14}],"introduced":{}},"iBridge2,6":{"name":"Apple iBridge","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J160AP","board_id":15}],"introduced":{}},"iBridge2,7":{"name":"J780","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J780AP","board_id":7}],"introduced":{}},"iBridge2,8":{"name":"J140k","boards":[{"cpu":"T2","platform":"t8012","cpu_id":32786,"cpu_isa":"ARMv8-A","board_config":"J140kAP","board_id":23}],"introduced":{}},"iMac21,1":{"name":"iMac (24-inch, M1, 2021)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"cpu_isa":"ARMv8.5-A","board_config":"J456AP","board_id":40}],"introduced":{}},"iMac21,2":{"name":"iMac (24-inch, M1, 2021)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"cpu_isa":"ARMv8.5-A","board_config":"J457AP","board_id":42}],"introduced":{}},"iPad1,1":{"boards":[{"cpu":"A4","platform":"s5l8930x","cpu_id":35120,"arch":"armv7","cpu_isa":"ARMv7","board_config":"K48AP","board_id":2}],"introduced":{}},"iPad11,1":{"name":"iPad mini (5th generation)","boards":[{"cpu":"A12 Bionic","platform":"t8020","cpu_id":32800,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J210AP","board_id":20}],"mem_class":4,"introduced":{}},"iPad11,2":{"name":"iPad mini (5th generation)","boards":[{"cpu":"A12 Bionic","platform":"t8020","cpu_id":32800,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J211AP","board_id":22}],"mem_class":4,"introduced":{}},"iPad11,3":{"name":"iPad Air (3rd generation)","boards":[{"cpu":"A12 Bionic","platform":"t8020","cpu_id":32800,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J217AP","board_id":28}],"mem_class":4,"introduced":{}},"iPad11,4":{"name":"iPad Air (3rd generation)","boards":[{"cpu":"A12 Bionic","platform":"t8020","cpu_id":32800,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J218AP","board_id":30}],"mem_class":4,"introduced":{}},"iPad11,6":{"name":"iPad (8th generation)","boards":[{"cpu":"A12 Bionic","platform":"t8020","cpu_id":32800,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J171aAP","board_id":36}],"mem_class":4,"introduced":{}},"iPad11,7":{"name":"iPad (8th generation)","boards":[{"cpu":"A12 Bionic","platform":"t8020","cpu_id":32800,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J172aAP","board_id":38}],"mem_class":4,"introduced":{}},"iPad12,1":{"name":"iPad","boards":[{"cpu":"A13 Bionic","platform":"t8030","cpu_id":32816,"arch":"arm64e","cpu_isa":"ARMv8.4-A","board_config":"J181AP","board_id":24}],"mem_class":4,"introduced":{}},"iPad12,2":{"name":"iPad","boards":[{"cpu":"A13 Bionic","platform":"t8030","cpu_id":32816,"arch":"arm64e","cpu_isa":"ARMv8.4-A","board_config":"J182AP","board_id":26}],"mem_class":4,"introduced":{}},"iPad13,1":{"name":"iPad Air (4th generation)","boards":[{"cpu":"A14 Bionic","platform":"t8101","cpu_id":33025,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J307AP","board_id":4}],"mem_class":3,"introduced":{}},"iPad13,10":{"name":"iPad Pro (12.9-inch) (5th generation)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J523AP","board_id":28}],"mem_class":8,"introduced":{}},"iPad13,11":{"name":"iPad Pro (12.9-inch) (5th generation)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J523xAP","board_id":30}],"mem_class":16,"introduced":{}},"iPad13,2":{"name":"iPad Air (4th generation)","boards":[{"cpu":"A14 Bionic","platform":"t8101","cpu_id":33025,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J308AP","board_id":6}],"mem_class":3,"introduced":{}},"iPad13,4":{"name":"iPad Pro (11-inch) (3rd generation)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J517AP","board_id":8}],"mem_class":8,"introduced":{}},"iPad13,5":{"name":"iPad Pro (11-inch) (3rd generation)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J517xAP","board_id":10}],"mem_class":16,"introduced":{}},"iPad13,6":{"name":"iPad Pro (11-inch) (3rd generation)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J518AP","board_id":12}],"mem_class":8,"introduced":{}},"iPad13,7":{"name":"iPad Pro (11-inch) (3rd generation)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J518xAP","board_id":14}],"mem_class":16,"introduced":{}},"iPad13,8":{"name":"iPad Pro (12.9-inch) (5th generation)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J522AP","board_id":24}],"mem_class":8,"introduced":{}},"iPad13,9":{"name":"iPad Pro (12.9-inch) (5th generation)","boards":[{"cpu":"M1","platform":"t8103","cpu_id":33027,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J522xAP","board_id":26}],"mem_class":16,"introduced":{}},"iPad14,1":{"name":"iPad mini","boards":[{"cpu":"A15 Bionic","platform":"t8110","cpu_id":33040,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J310AP","board_id":4}],"mem_class":3,"introduced":{}},"iPad14,2":{"name":"iPad mini","boards":[{"cpu":"A15 Bionic","platform":"t8110","cpu_id":33040,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"J311AP","board_id":6}],"mem_class":3,"introduced":{}},"iPad2,1":{"name":"iPad 2 (WiFi)","boards":[{"cpu":"A5","platform":"s5l8940x","cpu_id":35136,"arch":"armv7","cpu_isa":"ARMv7","board_config":"K93AP","board_id":4}],"introduced":{}},"iPad2,2":{"name":"iPad 2 (GSM)","boards":[{"cpu":"A5","platform":"s5l8940x","cpu_id":35136,"arch":"armv7","cpu_isa":"ARMv7","board_config":"K94AP","board_id":6}],"introduced":{}},"iPad2,3":{"name":"iPad 2 (CDMA)","boards":[{"cpu":"A5","platform":"s5l8940x","cpu_id":35136,"arch":"armv7","cpu_isa":"ARMv7","board_config":"K95AP","board_id":2}],"introduced":{}},"iPad2,4":{"name":"iPad 2 (Mid 2012)","boards":[{"cpu":"A5","platform":"s5l8942x","cpu_id":35138,"arch":"armv7","cpu_isa":"ARMv7","board_config":"K93AAP","board_id":6}],"introduced":{}},"iPad2,5":{"name":"iPad mini (WiFi)","boards":[{"cpu":"A5","platform":"s5l8942x","cpu_id":35138,"arch":"armv7","cpu_isa":"ARMv7","board_config":"P105AP","board_id":10}],"introduced":{}},"iPad2,6":{"name":"iPad mini (GSM)","boards":[{"cpu":"A5","platform":"s5l8942x","cpu_id":35138,"arch":"armv7","cpu_isa":"ARMv7","board_config":"P106AP","board_id":12}],"introduced":{}},"iPad2,7":{"name":"iPad mini (Global)","boards":[{"cpu":"A5","platform":"s5l8942x","cpu_id":35138,"arch":"armv7","cpu_isa":"ARMv7","board_config":"P107AP","board_id":14}],"introduced":{}},"iPad3,4":{"name":"iPad","boards":[{"cpu":"A6X","platform":"s5l8955x","cpu_id":35157,"arch":"armv7s","cpu_isa":"ARMv7s","board_config":"P101AP"}],"mem_class":1,"introduced":{}},"iPad3,5":{"name":"iPad","boards":[{"cpu":"A6X","platform":"s5l8955x","cpu_id":35157,"arch":"armv7s","cpu_isa":"ARMv7s","board_config":"P102AP","board_id":2}],"mem_class":1,"introduced":{}},"iPad3,6":{"name":"iPad","boards":[{"cpu":"A6X","platform":"s5l8955x","cpu_id":35157,"arch":"armv7s","cpu_isa":"ARMv7s","board_config":"P103AP","board_id":4}],"mem_class":1,"introduced":{}},"iPad4,1":{"name":"iPad Air","boards":[{"cpu":"A7","platform":"s5l8960x","cpu_id":35168,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J71AP","board_id":16}],"mem_class":1,"introduced":{}},"iPad4,2":{"name":"iPad Air","boards":[{"cpu":"A7","platform":"s5l8960x","cpu_id":35168,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J72AP","board_id":18}],"mem_class":1,"introduced":{}},"iPad4,3":{"name":"iPad Air","boards":[{"cpu":"A7","platform":"s5l8960x","cpu_id":35168,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J73AP","board_id":20}],"mem_class":1,"introduced":{}},"iPad4,4":{"name":"iPad mini 2","boards":[{"cpu":"A7","platform":"s5l8960x","cpu_id":35168,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J85AP","board_id":10}],"mem_class":1,"introduced":{}},"iPad4,5":{"name":"iPad mini 2","boards":[{"cpu":"A7","platform":"s5l8960x","cpu_id":35168,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J86AP","board_id":12}],"mem_class":1,"introduced":{}},"iPad4,6":{"name":"iPad mini 2","boards":[{"cpu":"A7","platform":"s5l8960x","cpu_id":35168,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J87AP","board_id":14}],"mem_class":1,"introduced":{}},"iPad4,7":{"name":"iPad mini 3","boards":[{"cpu":"A7","platform":"s5l8960x","cpu_id":35168,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J85mAP","board_id":50}],"mem_class":1,"introduced":{}},"iPad4,8":{"name":"iPad mini 3","boards":[{"cpu":"A7","platform":"s5l8960x","cpu_id":35168,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J86mAP","board_id":52}],"mem_class":1,"introduced":{}},"iPad4,9":{"name":"iPad mini 3","boards":[{"cpu":"A7","platform":"s5l8960x","cpu_id":35168,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J87mAP","board_id":54}],"mem_class":1,"introduced":{}},"iPad5,1":{"name":"iPad mini 4","boards":[{"cpu":"A8","platform":"t7000","cpu_id":28672,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J96AP","board_id":8}],"mem_class":2,"introduced":{}},"iPad5,2":{"name":"iPad mini 4","boards":[{"cpu":"A8","platform":"t7000","cpu_id":28672,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J97AP","board_id":10}],"mem_class":2,"introduced":{}},"iPad5,3":{"name":"iPad Air 2","boards":[{"cpu":"A8X","platform":"t7001","cpu_id":28673,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J81AP","board_id":6}],"mem_class":2,"introduced":{}},"iPad5,4":{"name":"iPad Air 2","boards":[{"cpu":"A8X","platform":"t7001","cpu_id":28673,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J82AP","board_id":2}],"mem_class":2,"introduced":{}},"iPad6,11":{"name":"iPad (5th generation)","boards":[{"cpu":"A9","platform":"s8000","cpu_id":32768,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J71sAP","board_id":16}],"mem_class":2,"introduced":{}},"iPad6,12":{"name":"iPad (5th generation)","boards":[{"cpu":"A9","platform":"s8000","cpu_id":32768,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J72sAP","board_id":18}],"mem_class":2,"introduced":{}},"iPad6,3":{"name":"iPad Pro","boards":[{"cpu":"A9X","platform":"s8001","cpu_id":32769,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J127AP","board_id":8}],"mem_class":2,"introduced":{}},"iPad6,4":{"name":"iPad Pro","boards":[{"cpu":"A9X","platform":"s8001","cpu_id":32769,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J128AP","board_id":10}],"mem_class":2,"introduced":{}},"iPad6,7":{"name":"iPad Pro","boards":[{"cpu":"A9X","platform":"s8001","cpu_id":32769,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J98aAP","board_id":16}],"mem_class":3,"introduced":{}},"iPad6,8":{"name":"iPad Pro","boards":[{"cpu":"A9X","platform":"s8001","cpu_id":32769,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"J99aAP","board_id":18}],"mem_class":3,"introduced":{}},"iPad7,1":{"name":"iPad Pro (12.9-inch) (2nd generation)","boards":[{"cpu":"A10X Fusion","platform":"t8011","cpu_id":32785,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"J120AP","board_id":12}],"mem_class":3,"introduced":{}},"iPad7,11":{"name":"iPad (7th generation)","boards":[{"cpu":"A10 Fusion","platform":"t8010","cpu_id":32784,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"J171AP","board_id":28}],"mem_class":4,"introduced":{}},"iPad7,12":{"name":"iPad (7th generation)","boards":[{"cpu":"A10 Fusion","platform":"t8010","cpu_id":32784,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"J172AP","board_id":30}],"mem_class":4,"introduced":{}},"iPad7,2":{"name":"iPad Pro (12.9-inch) (2nd generation)","boards":[{"cpu":"A10X Fusion","platform":"t8011","cpu_id":32785,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"J121AP","board_id":14}],"mem_class":3,"introduced":{}},"iPad7,3":{"name":"iPad Pro (10.5-inch)","boards":[{"cpu":"A10X Fusion","platform":"t8011","cpu_id":32785,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"J207AP","board_id":4}],"mem_class":3,"introduced":{}},"iPad7,4":{"name":"iPad Pro (10.5-inch)","boards":[{"cpu":"A10X Fusion","platform":"t8011","cpu_id":32785,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"J208AP","board_id":6}],"mem_class":3,"introduced":{}},"iPad7,5":{"name":"iPad (6th generation)","boards":[{"cpu":"A10 Fusion","platform":"t8010","cpu_id":32784,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"J71bAP","board_id":24}],"mem_class":2,"introduced":{}},"iPad7,6":{"name":"iPad (6th generation)","boards":[{"cpu":"A10 Fusion","platform":"t8010","cpu_id":32784,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"J72bAP","board_id":26}],"mem_class":2,"introduced":{}},"iPad8,1":{"name":"iPad Pro (11-inch)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J317AP","board_id":12}],"mem_class":3,"introduced":{}},"iPad8,10":{"name":"iPad Pro (11-inch) (2nd generation)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J418AP","board_id":62}],"mem_class":6,"introduced":{}},"iPad8,11":{"name":"iPad Pro (12.9-inch) (4th generation)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J420AP","board_id":56}],"mem_class":6,"introduced":{}},"iPad8,12":{"name":"iPad Pro (12.9-inch) (4th generation)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J421AP","board_id":58}],"mem_class":6,"introduced":{}},"iPad8,2":{"name":"iPad Pro (11-inch)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J317xAP","board_id":28}],"mem_class":6,"introduced":{}},"iPad8,3":{"name":"iPad Pro (11-inch)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J318AP","board_id":14}],"mem_class":3,"introduced":{}},"iPad8,4":{"name":"iPad Pro (11-inch)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J318xAP","board_id":30}],"mem_class":6,"introduced":{}},"iPad8,5":{"name":"iPad Pro (12.9-inch) (3rd generation)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J320AP","board_id":8}],"mem_class":3,"introduced":{}},"iPad8,6":{"name":"iPad Pro (12.9-inch) (3rd generation)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J320xAP","board_id":24}],"mem_class":6,"introduced":{}},"iPad8,7":{"name":"iPad Pro (12.9-inch) (3rd generation)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J321AP","board_id":10}],"mem_class":3,"introduced":{}},"iPad8,8":{"name":"iPad Pro (12.9-inch) (3rd generation)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J321xAP","board_id":26}],"mem_class":6,"introduced":{}},"iPad8,9":{"name":"iPad Pro (11-inch) (2nd generation)","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"J417AP","board_id":60}],"mem_class":6,"introduced":{}},"iPhone1,1":{"boards":[{"platform":"s5l8900x","cpu_id":35072,"board_config":"M68AP"}],"introduced":{}},"iPhone1,2":{"boards":[{"platform":"s5l8900x","cpu_id":35072,"board_config":"N82AP","board_id":4}],"introduced":{}},"iPhone10,1":{"name":"iPhone 8","boards":[{"cpu":"A11 Bionic","platform":"t8015","cpu_id":32789,"arch":"arm64","cpu_isa":"ARMv8.2-A","board_config":"D20AP","board_id":2}],"mem_class":2,"introduced":{}},"iPhone10,2":{"name":"iPhone 8 Plus","boards":[{"cpu":"A11 Bionic","platform":"t8015","cpu_id":32789,"arch":"arm64","cpu_isa":"ARMv8.2-A","board_config":"D21AP","board_id":4}],"mem_class":4,"introduced":{}},"iPhone10,3":{"name":"iPhone X","boards":[{"cpu":"A11 Bionic","platform":"t8015","cpu_id":32789,"arch":"arm64","cpu_isa":"ARMv8.2-A","board_config":"D22AP","board_id":6}],"mem_class":4,"introduced":{}},"iPhone10,4":{"name":"iPhone 8","boards":[{"cpu":"A11 Bionic","platform":"t8015","cpu_id":32789,"arch":"arm64","cpu_isa":"ARMv8.2-A","board_config":"D201AP","board_id":10}],"mem_class":2,"introduced":{}},"iPhone10,5":{"name":"iPhone 8 Plus","boards":[{"cpu":"A11 Bionic","platform":"t8015","cpu_id":32789,"arch":"arm64","cpu_isa":"ARMv8.2-A","board_config":"D211AP","board_id":12}],"mem_class":4,"introduced":{}},"iPhone10,6":{"name":"iPhone X","boards":[{"cpu":"A11 Bionic","platform":"t8015","cpu_id":32789,"arch":"arm64","cpu_isa":"ARMv8.2-A","board_config":"D221AP","board_id":14}],"mem_class":4,"introduced":{}},"iPhone11,2":{"name":"iPhone XS","boards":[{"cpu":"A12 Bionic","platform":"t8020","cpu_id":32800,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"D321AP","board_id":14}],"mem_class":3,"introduced":{}},"iPhone11,4":{"name":"iPhone XS Max","boards":[{"cpu":"A12 Bionic","platform":"t8020","cpu_id":32800,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"D331AP","board_id":10}],"mem_class":3,"introduced":{}},"iPhone11,6":{"name":"iPhone XS Max","boards":[{"cpu":"A12 Bionic","platform":"t8020","cpu_id":32800,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"D331pAP","board_id":26}],"mem_class":3,"introduced":{}},"iPhone11,8":{"name":"iPhone XR","boards":[{"cpu":"A12 Bionic","platform":"t8020","cpu_id":32800,"arch":"arm64e","cpu_isa":"ARMv8.3-A","board_config":"N841AP","board_id":12}],"mem_class":4,"introduced":{}},"iPhone12,1":{"name":"iPhone 11","boards":[{"cpu":"A13 Bionic","platform":"t8030","cpu_id":32816,"arch":"arm64e","cpu_isa":"ARMv8.4-A","board_config":"N104AP","board_id":4}],"mem_class":3,"introduced":{}},"iPhone12,3":{"name":"iPhone 11 Pro","boards":[{"cpu":"A13 Bionic","platform":"t8030","cpu_id":32816,"arch":"arm64e","cpu_isa":"ARMv8.4-A","board_config":"D421AP","board_id":6}],"mem_class":3,"introduced":{}},"iPhone12,5":{"name":"iPhone 11 Pro Max","boards":[{"cpu":"A13 Bionic","platform":"t8030","cpu_id":32816,"arch":"arm64e","cpu_isa":"ARMv8.4-A","board_config":"D431AP","board_id":2}],"mem_class":3,"introduced":{}},"iPhone12,8":{"name":"iPhone SE (2nd generation)","boards":[{"cpu":"A13 Bionic","platform":"t8030","cpu_id":32816,"arch":"arm64e","cpu_isa":"ARMv8.4-A","board_config":"D79AP","board_id":16}],"mem_class":4,"introduced":{}},"iPhone13,1":{"name":"iPhone 12 mini","boards":[{"cpu":"A14 Bionic","platform":"t8101","cpu_id":33025,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"D52gAP","board_id":10}],"mem_class":3,"introduced":{}},"iPhone13,2":{"name":"iPhone 12","boards":[{"cpu":"A14 Bionic","platform":"t8101","cpu_id":33025,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"D53gAP","board_id":12}],"mem_class":3,"introduced":{}},"iPhone13,3":{"name":"iPhone 12 Pro","boards":[{"cpu":"A14 Bionic","platform":"t8101","cpu_id":33025,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"D53pAP","board_id":14}],"mem_class":6,"introduced":{}},"iPhone13,4":{"name":"iPhone 12 Pro Max","boards":[{"cpu":"A14 Bionic","platform":"t8101","cpu_id":33025,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"D54pAP","board_id":8}],"mem_class":6,"introduced":{}},"iPhone14,2":{"name":"iPhone 13 Pro","boards":[{"cpu":"A15 Bionic","platform":"t8110","cpu_id":33040,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"D63AP","board_id":12}],"mem_class":6,"introduced":{}},"iPhone14,3":{"name":"iPhone 13 Pro Max","boards":[{"cpu":"A15 Bionic","platform":"t8110","cpu_id":33040,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"D64AP","board_id":14}],"mem_class":6,"introduced":{}},"iPhone14,4":{"name":"iPhone 13 mini","boards":[{"cpu":"A15 Bionic","platform":"t8110","cpu_id":33040,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"D16AP","board_id":8}],"mem_class":3,"introduced":{}},"iPhone14,5":{"name":"iPhone 13","boards":[{"cpu":"A15 Bionic","platform":"t8110","cpu_id":33040,"arch":"arm64e","cpu_isa":"ARMv8.5-A","board_config":"D17AP","board_id":10}],"mem_class":3,"introduced":{}},"iPhone2,1":{"boards":[{"platform":"s5l8920x","cpu_id":35104,"board_config":"N88AP"}],"introduced":{}},"iPhone3,1":{"boards":[{"platform":"s5l8930x","cpu_id":35120,"board_config":"N90AP"}],"introduced":{}},"iPhone3,2":{"boards":[{"platform":"s5l8930x","cpu_id":35120,"board_config":"N90BAP","board_id":4}],"introduced":{}},"iPhone3,3":{"boards":[{"platform":"s5l8930x","cpu_id":35120,"board_config":"N92AP","board_id":6}],"introduced":{}},"iPhone4,1":{"name":"iPhone 4S","boards":[{"cpu":"A5","platform":"s5l8940x","cpu_id":35136,"arch":"armv7","cpu_isa":"ARMv7","board_config":"N94AP","board_id":8}],"introduced":{}},"iPhone5,1":{"name":"iPhone 5","boards":[{"cpu":"A6","platform":"s5l8950x","cpu_id":35152,"arch":"armv7s","cpu_isa":"ARMv7s","board_config":"N41AP"}],"mem_class":1,"introduced":{}},"iPhone5,2":{"name":"iPhone 5","boards":[{"cpu":"A6","platform":"s5l8950x","cpu_id":35152,"arch":"armv7s","cpu_isa":"ARMv7s","board_config":"N42AP","board_id":2}],"mem_class":1,"introduced":{}},"iPhone5,3":{"name":"iPhone 5c","boards":[{"cpu":"A6","platform":"s5l8950x","cpu_id":35152,"arch":"armv7s","cpu_isa":"ARMv7s","board_config":"N48AP","board_id":10}],"mem_class":1,"introduced":{}},"iPhone5,4":{"name":"iPhone 5c","boards":[{"cpu":"A6","platform":"s5l8950x","cpu_id":35152,"arch":"armv7s","cpu_isa":"ARMv7s","board_config":"N49AP","board_id":14}],"mem_class":1,"introduced":{}},"iPhone6,1":{"name":"iPhone 5s","boards":[{"cpu":"A7","platform":"s5l8960x","cpu_id":35168,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"N51AP"}],"mem_class":1,"introduced":{}},"iPhone6,2":{"name":"iPhone 5s","boards":[{"cpu":"A7","platform":"s5l8960x","cpu_id":35168,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"N53AP","board_id":2}],"mem_class":1,"introduced":{}},"iPhone7,1":{"name":"iPhone 6 Plus","boards":[{"cpu":"A8","platform":"t7000","cpu_id":28672,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"N56AP","board_id":4}],"mem_class":1,"introduced":{}},"iPhone7,2":{"name":"iPhone 6","boards":[{"cpu":"A8","platform":"t7000","cpu_id":28672,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"N61AP","board_id":6}],"mem_class":1,"introduced":{}},"iPhone8,1":{"name":"iPhone 6s","boards":[{"cpu":"A9","platform":"s8000","cpu_id":32768,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"N71AP","board_id":4}],"mem_class":2,"introduced":{}},"iPhone8,2":{"name":"iPhone 6s Plus","boards":[{"cpu":"A9","platform":"s8000","cpu_id":32768,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"N66AP","board_id":6}],"mem_class":2,"introduced":{}},"iPhone8,4":{"name":"iPhone SE","boards":[{"cpu":"A9","platform":"s8003","cpu_id":32771,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"N69AP","board_id":2}],"mem_class":2,"introduced":{}},"iPhone9,1":{"name":"iPhone 7 (Global)","boards":[{"cpu":"A10 Fusion","platform":"t8010","cpu_id":32784,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"D10AP","board_id":8}],"mem_class":2,"introduced":{}},"iPhone9,2":{"name":"iPhone 7 Plus","boards":[{"cpu":"A10 Fusion","platform":"t8010","cpu_id":32784,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"D11AP","board_id":10}],"mem_class":4,"introduced":{}},"iPhone9,3":{"name":"iPhone 7 (GSM)","boards":[{"cpu":"A10 Fusion","platform":"t8010","cpu_id":32784,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"D101AP","board_id":12}],"mem_class":2,"introduced":{}},"iPhone9,4":{"name":"iPhone 7 Plus","boards":[{"cpu":"A10 Fusion","platform":"t8010","cpu_id":32784,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"D111AP","board_id":14}],"mem_class":4,"introduced":{}},"iPod2,1":{"name":"iPod touch 2G","boards":[{"platform":"s5l8720x","cpu_id":34592,"board_config":"N72AP"}],"introduced":{}},"iPod3,1":{"name":"iPod touch (3th gen)","boards":[{"platform":"s5l8922x","cpu_id":35106,"board_config":"N18AP","board_id":2}],"introduced":{}},"iPod4,1":{"name":"iPod touch (4th gen)","boards":[{"cpu":"A4","platform":"s5l8930x","cpu_id":35120,"arch":"armv7","cpu_isa":"ARMv7","board_config":"N81AP","board_id":8}],"introduced":{}},"iPod5,1":{"name":"iPod touch (5th gen)","boards":[{"cpu":"A5","platform":"s5l8942x","cpu_id":35138,"arch":"armv7","cpu_isa":"ARMv7","board_config":"N78AP"}],"introduced":{}},"iPod7,1":{"name":"iPod touch (6th gen)","boards":[{"cpu":"A8","platform":"t7000","cpu_id":28672,"arch":"arm64","cpu_isa":"ARMv8.0-A","board_config":"N102AP","board_id":16}],"mem_class":1,"introduced":{}},"iPod9,1":{"name":"iPod touch (7th gen)","boards":[{"cpu":"A10 Fusion","platform":"t8010","cpu_id":32784,"arch":"arm64","cpu_isa":"ARMv8.1-A","board_config":"N112AP","board_id":22}],"mem_class":2,"introduced":{}},"iProd8,6":{"name":"AirPods Max","boards":[{"cpu":"H1","platform":"t2002","cpu_id":8194,"board_config":"B515AP","board_id":16}],"introduced":{}},"iProd99,1":{"name":"T485","boards":[{"cpu":"A12X/A12Z Bionic","platform":"t8027","cpu_id":32807,"cpu_isa":"ARMv8.3-A","board_config":"T485AP","board_id":36}],"introduced":{}}} +{"ADP3,1":{"name":"J273","boards":{"J273AP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x22","kc_type":"j273"},"J273DEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x23","kc_type":"j273"}},"mem_class":"0x06","sdk":"macosx"},"ADP3,2":{"name":"Developer Transition Kit","boards":{"J273aAP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x42","kc_type":"j273"},"J273aDEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x43","kc_type":"j273"}},"mem_class":"0x10","sdk":"macosx"},"AirPods2,1":{"desc":"AirPods","boards":{"B288AP":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x12"},"B288DEV":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x13"}},"sdk":"rtkit"},"AirPods2,2":{"desc":"AirPods Pro","boards":{"B298AP":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x04"},"B298DEV":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x05"}},"sdk":"rtkit"},"AppleTV11,1":{"name":"Apple TV 4K (2nd generation)","boards":{"J305AP":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x08","kc_type":"j305"},"J305DEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x09","kc_type":"j305"}},"mem_class":"0x04","sdk":"appletvos"},"AppleTV2,1":{"name":"Apple TV 2G","boards":{"K66AP":{"platform":"s5l8930x","cpuid":"0x8930","board_id":"0x10","kc_type":"k66"}}},"AppleTV3,1":{"name":"AppleTV","boards":{"J33AP":{"cpu":"A5","platform":"s5l8942x","platform_name":"H4A","cpuid":"0x8942","arch":"armv7","cpuisa":"ARMv7","board_id":"0x08","kc_type":"j33"},"J33DEV":{"cpu":"A5","platform":"s5l8942x","platform_name":"H4A","cpuid":"0x8942","arch":"armv7","cpuisa":"ARMv7","board_id":"0x09","kc_type":"j33"}},"mem_class":"0x00","sdk":"deprecated"},"AppleTV3,2":{"name":"AppleTV","boards":{"J33iAP":{"cpu":"A5","platform":"s5l8947x","platform_name":"H4i","cpuid":"0x8947","arch":"armv7","cpuisa":"ARMv7","board_id":"0x00","kc_type":"j33i"},"J33iDEV":{"cpu":"A5","platform":"s5l8947x","platform_name":"H4i","cpuid":"0x8947","arch":"armv7","cpuisa":"ARMv7","board_id":"0x01","kc_type":"j33i"}},"mem_class":"0x00","sdk":"deprecated"},"AppleTV5,3":{"name":"Apple TV","boards":{"J42DAP":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x34","kc_type":"j42d"},"J42DDEV":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x35","kc_type":"j42d"}},"mem_class":"0x02","sdk":"appletvos"},"AppleTV6,2":{"name":"Apple TV 4K","boards":{"J105aAP":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x02","kc_type":"j105a"},"J105aDEV":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x03","kc_type":"j105a"}},"mem_class":"0x04","sdk":"appletvos"},"Audio2,1":{"desc":"AirPods with MagSafe Charging Case","boards":{"B688AP":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x20"},"B688DEV":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x21"}},"sdk":"rtkit"},"Audio2,2":{"desc":"Beats Fit Pro","boards":{"B494AP":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x18"},"B494DEV":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x19"}},"sdk":"rtkit"},"AudioAccessory1,1":{"name":"HomePod","boards":{"B238aAP":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x38","kc_type":"b238"},"B238aDEV":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x39","kc_type":"b238"}},"mem_class":"0x01","sdk":"appletvos"},"AudioAccessory1,2":{"name":"HomePod","boards":{"B238AP":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x1A","kc_type":"b238"},"B238DEV":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x1B","kc_type":"b238"}},"mem_class":"0x01","sdk":"appletvos"},"AudioAccessory5,1":{"name":"HomePod mini","boards":{"B520AP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x22","kc_type":"b520"},"B520DEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x23","kc_type":"b520"}},"mem_class":"0x01","sdk":"appletvos"},"Mac":{"name":"T6002SIMB","boards":{"T6000simbDEV":{"cpu":"M1 Pro","platform":"t6000","platform_name":"H13S","cpuid":"0x6000","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0xFC","kc_type":"t6000consolidated"},"T6001simbDEV":{"cpu":"M1 Max","platform":"t6001","platform_name":"H13C","cpuid":"0x6001","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0xFC","kc_type":"t6000consolidated"},"T6002simbDEV":{"cpu":"M2?","platform":"t6002","platform_name":"H13D","cpuid":"0x6002","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0xFC","kc_type":"t6000consolidated"},"T8103simbDEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0xFC","kc_type":"t8103consolidated"}},"sdk":"macosx"},"MacBookAir10,1":{"name":"MacBook Air (M1, 2020)","boards":{"J313AP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x26","kc_type":"mac13g"},"J313DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x27","kc_type":"mac13g"}},"mem_class":"0x10","sdk":"macosx"},"MacBookAir8,1":{"boards":{"J140KMACAP":{"platform":"x86_64","platform_name":"X86_64","cpuid":"0x8012","arch":"x86_64","board_id":"0x17"}},"sdk":"macosx"},"MacBookAir8,2":{"boards":{"J140AMACAP":{"platform":"x86_64","platform_name":"X86_64","cpuid":"0x8012","arch":"x86_64","board_id":"0x37"}},"sdk":"macosx"},"MacBookPro15,1":{"boards":{"J680MACAP":{"platform":"x86_64","platform_name":"X86_64","cpuid":"0x8012","arch":"x86_64","board_id":"0x0B"}},"sdk":"macosx"},"MacBookPro15,2":{"boards":{"J132MACAP":{"platform":"x86_64","platform_name":"X86_64","cpuid":"0x8012","arch":"x86_64","board_id":"0x0C"}},"sdk":"macosx"},"MacBookPro15,3":{"boards":{"J780MACAP":{"platform":"x86_64","platform_name":"X86_64","cpuid":"0x8012","arch":"x86_64","board_id":"0x07"}},"sdk":"macosx"},"MacBookPro15,4":{"boards":{"J213MACAP":{"platform":"x86_64","platform_name":"X86_64","cpuid":"0x8012","arch":"x86_64","board_id":"0x18"}},"sdk":"macosx"},"MacBookPro17,1":{"name":"MacBook Pro (13-inch, M1, 2020)","boards":{"J293AP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x24","kc_type":"mac13g"},"J293DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x25","kc_type":"mac13g"}},"mem_class":"0x10","sdk":"macosx"},"MacBookPro18,1":{"name":"MacBook Pro (16-inch, 2021)","boards":{"J316sAP":{"cpu":"M1 Pro","platform":"t6000","platform_name":"H13S","cpuid":"0x6000","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0A","kc_type":"mac13j"},"J316sDEV":{"cpu":"M1 Pro","platform":"t6000","platform_name":"H13S","cpuid":"0x6000","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0B","kc_type":"mac13j"}},"mem_class":"0x10","sdk":"macosx"},"MacBookPro18,2":{"name":"MacBook Pro (16-inch, 2021)","boards":{"J316cAP":{"cpu":"M1 Max","platform":"t6001","platform_name":"H13C","cpuid":"0x6001","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0A","kc_type":"mac13j"},"J316cDEV":{"cpu":"M1 Max","platform":"t6001","platform_name":"H13C","cpuid":"0x6001","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0B","kc_type":"mac13j"}},"mem_class":"0x10","sdk":"macosx"},"MacBookPro18,3":{"name":"MacBook Pro (14-inch, 2021)","boards":{"J314sAP":{"cpu":"M1 Pro","platform":"t6000","platform_name":"H13S","cpuid":"0x6000","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x08","kc_type":"mac13j"},"J314sDEV":{"cpu":"M1 Pro","platform":"t6000","platform_name":"H13S","cpuid":"0x6000","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x09","kc_type":"mac13j"}},"mem_class":"0x10","sdk":"macosx"},"MacBookPro18,4":{"name":"MacBook Pro (14-inch, 2021)","boards":{"J314cAP":{"cpu":"M1 Max","platform":"t6001","platform_name":"H13C","cpuid":"0x6001","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x08","kc_type":"mac13j"},"J314cDEV":{"cpu":"M1 Max","platform":"t6001","platform_name":"H13C","cpuid":"0x6001","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x09","kc_type":"mac13j"}},"mem_class":"0x10","sdk":"macosx"},"MacFamily20,1":{"name":"Mac","boards":{"J129aAP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"mem_class":"0x10","sdk":"iphoneos"},"MacPro7,1":{"boards":{"J160MACAP":{"platform":"x86_64","platform_name":"X86_64","cpuid":"0x8012","arch":"x86_64","board_id":"0x0F"}},"sdk":"macosx"},"Macmini8,1":{"boards":{"J174MACAP":{"platform":"x86_64","platform_name":"X86_64","cpuid":"0x8012","arch":"x86_64","board_id":"0x0E"}},"sdk":"macosx"},"Macmini9,1":{"name":"Mac mini (M1, 2020)","boards":{"J274AP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x22","kc_type":"mac13g"},"J274DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x23","kc_type":"mac13g"}},"mem_class":"0x10","sdk":"macosx"},"Powerbeats2,1":{"desc":"Powerbeats","boards":{"B364AP":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x0C"},"B364DEV":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x0D"}},"sdk":"rtkit"},"PowerbeatsPro2,1":{"desc":"PowerbeatsPro","boards":{"B444AP":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x0E"},"B444DEV":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x0F"}},"sdk":"rtkit"},"RPi3":{"name":"Raspberry Pi 3 (model B+)","boards":{"Rpi3AP":{"platform":"bcm2837","platform_name":"BCM2837","cpuid":"0x00","arch":"arm64","board_id":"0x00","kc_type":"rpi3"}},"sdk":"iphoneos"},"Solo2,1":{"desc":"Solo","boards":{"B419AP":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x08"},"B419DEV":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x09"}},"sdk":"rtkit"},"VirtualMac2,1":{"name":"virtual machine for ARM-v8.4 with Apple Silicon extensions","boards":{"Vma2macosAP":{"platform":"vmapple2","platform_name":"VMApple2","cpuid":"0xFE00","arch":"arm64e","board_id":"0x20","kc_type":"vma2"}},"mem_class":"0x10","sdk":"macosx"},"Watch1,1":{"name":"Apple Watch (1st generation) 38mm","boards":{"N27AAP":{"cpu":"S1","platform":"s7002","platform_name":"M7","cpuid":"0x7002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x02","kc_type":"watch1"},"N27ADEV":{"cpu":"S1","platform":"s7002","platform_name":"M7","cpuid":"0x7002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x03","kc_type":"watch1"}},"mem_class":"0x00","sdk":"deprecated"},"Watch1,2":{"name":"Apple Watch (1st generation) 42mm","boards":{"N27N28AAP":{"cpu":"S1","platform":"s7002","platform_name":"M7","cpuid":"0x7002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x04","kc_type":"watch1"},"N27N28ADEV":{"cpu":"S1","platform":"s7002","platform_name":"M7","cpuid":"0x7002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x05","kc_type":"watch1"}},"mem_class":"0x00","sdk":"deprecated"},"Watch2,3":{"name":"Apple Watch Series 2 38mm","boards":{"N74AP":{"cpu":"S1P","platform":"t8002","platform_name":"M8","cpuid":"0x8002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x0C","kc_type":"watch2"},"N74DEV":{"cpu":"S1P","platform":"t8002","platform_name":"M8","cpuid":"0x8002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x0D","kc_type":"watch2"}},"mem_class":"0x00","sdk":"deprecated"},"Watch2,4":{"name":"Apple Watch Series 2 42mm","boards":{"N75AP":{"cpu":"S1P","platform":"t8002","platform_name":"M8","cpuid":"0x8002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x0E","kc_type":"watch2"},"N75DEV":{"cpu":"S1P","platform":"t8002","platform_name":"M8","cpuid":"0x8002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x0F","kc_type":"watch2"}},"mem_class":"0x00","sdk":"deprecated"},"Watch2,6":{"name":"Apple Watch Series 1 38mm","boards":{"N27dAP":{"cpu":"S1P","platform":"t8002","platform_name":"M8","cpuid":"0x8002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x02","kc_type":"watch2d"},"N27dDEV":{"cpu":"S1P","platform":"t8002","platform_name":"M8","cpuid":"0x8002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x03","kc_type":"watch2d"}},"mem_class":"0x00","sdk":"deprecated"},"Watch2,7":{"name":"Apple Watch Series 1 42mm","boards":{"N28dAP":{"cpu":"S1P","platform":"t8002","platform_name":"M8","cpuid":"0x8002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x04","kc_type":"watch2d"},"N28dDEV":{"cpu":"S1P","platform":"t8002","platform_name":"M8","cpuid":"0x8002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x05","kc_type":"watch2d"}},"mem_class":"0x00","sdk":"deprecated"},"Watch3,1":{"name":"Apple Watch Series 3 (GPS + Cellular) 38mm","boards":{"N111sAP":{"cpu":"S3 Non-LTE and LTE","platform":"t8004","platform_name":"M8P","cpuid":"0x8004","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x1C","bbid":"0x009210E1","kc_type":"watch3"},"N111sDEV":{"cpu":"S3 Non-LTE and LTE","platform":"t8004","platform_name":"M8P","cpuid":"0x8004","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x1D","bbid":"0x009210E1","kc_type":"watch3"}},"mem_class":"0x00","sdk":"watchos"},"Watch3,2":{"name":"Apple Watch Series 3 (GPS + Cellular) 42mm","boards":{"N111bAP":{"cpu":"S3 Non-LTE and LTE","platform":"t8004","platform_name":"M8P","cpuid":"0x8004","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x1E","bbid":"0x009210E1","kc_type":"watch3"},"N111bDEV":{"cpu":"S3 Non-LTE and LTE","platform":"t8004","platform_name":"M8P","cpuid":"0x8004","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x1F","bbid":"0x009210E1","kc_type":"watch3"}},"mem_class":"0x00","sdk":"watchos"},"Watch3,3":{"name":"Apple Watch Series 3 (GPS) 38mm","boards":{"N121sAP":{"cpu":"S3 Non-LTE and LTE","platform":"t8004","platform_name":"M8P","cpuid":"0x8004","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x18","kc_type":"watch3"},"N121sDEV":{"cpu":"S3 Non-LTE and LTE","platform":"t8004","platform_name":"M8P","cpuid":"0x8004","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x19","kc_type":"watch3"}},"mem_class":"0x00","sdk":"watchos"},"Watch3,4":{"name":"Apple Watch Series 3 (GPS) 42mm","boards":{"N121bAP":{"cpu":"S3 Non-LTE and LTE","platform":"t8004","platform_name":"M8P","cpuid":"0x8004","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x1A","kc_type":"watch3"},"N121bDEV":{"cpu":"S3 Non-LTE and LTE","platform":"t8004","platform_name":"M8P","cpuid":"0x8004","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x1B","kc_type":"watch3"}},"mem_class":"0x00","sdk":"watchos"},"Watch4,1":{"name":"Apple Watch Series 4","boards":{"N131sAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x08","kc_type":"watch4"},"N131sDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x09","kc_type":"watch4"}},"mem_class":"0x01","sdk":"watchos"},"Watch4,2":{"name":"Apple Watch Series 4","boards":{"N131bAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x0A","kc_type":"watch4"},"N131bDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x0B","kc_type":"watch4"}},"mem_class":"0x01","sdk":"watchos"},"Watch4,3":{"name":"Apple Watch Series 4","boards":{"N141sAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x0C","bbid":"0x00000067","kc_type":"watch4"},"N141sDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x0D","bbid":"0x00000067","kc_type":"watch4"}},"mem_class":"0x01","sdk":"watchos"},"Watch4,4":{"name":"Apple Watch Series 4","boards":{"N141bAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x0E","bbid":"0x00000067","kc_type":"watch4"},"N141bDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x0F","bbid":"0x00000067","kc_type":"watch4"}},"mem_class":"0x01","sdk":"watchos"},"Watch5,1":{"name":"Apple Watch Series 5","boards":{"N144sAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x10","kc_type":"watch5"},"N144sDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x11","kc_type":"watch5"}},"mem_class":"0x01","sdk":"watchos"},"Watch5,10":{"name":"Apple Watch SE (GPS)","boards":{"N140bAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x2A","kc_type":"watch5"},"N140bDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x2B","kc_type":"watch5"}},"mem_class":"0x01","sdk":"watchos"},"Watch5,11":{"name":"Apple Watch SE (GPS + Cellular)","boards":{"N142sAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x2C","bbid":"0x00000067","kc_type":"watch5"},"N142sDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x2D","bbid":"0x00000067","kc_type":"watch5"}},"mem_class":"0x01","sdk":"watchos"},"Watch5,12":{"name":"Apple Watch SE (GPS + Cellular)","boards":{"N142bAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x2E","bbid":"0x00000067","kc_type":"watch5"},"N142bDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x2F","bbid":"0x00000067","kc_type":"watch5"}},"mem_class":"0x01","sdk":"watchos"},"Watch5,2":{"name":"Apple Watch Series 5","boards":{"N144bAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x12","kc_type":"watch5"},"N144bDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x13","kc_type":"watch5"}},"mem_class":"0x01","sdk":"watchos"},"Watch5,3":{"name":"Apple Watch Series 5","boards":{"N146sAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x14","bbid":"0x00000067","kc_type":"watch5"},"N146sDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x15","bbid":"0x00000067","kc_type":"watch5"}},"mem_class":"0x01","sdk":"watchos"},"Watch5,4":{"name":"Apple Watch Series 5","boards":{"N146bAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x16","bbid":"0x00000067","kc_type":"watch5"},"N146bDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x17","bbid":"0x00000067","kc_type":"watch5"}},"mem_class":"0x01","sdk":"watchos"},"Watch5,9":{"name":"Apple Watch SE (GPS)","boards":{"N140sAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x28","kc_type":"watch5"},"N140sDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x29","kc_type":"watch5"}},"mem_class":"0x01","sdk":"watchos"},"Watch6,1":{"name":"Apple Watch Series 6 (GPS)","boards":{"N157sAP":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x08","kc_type":"watch6"},"N157sDEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x09","kc_type":"watch6"}},"mem_class":"0x0F","sdk":"watchos"},"Watch6,2":{"name":"Apple Watch Series 6 (GPS)","boards":{"N157bAP":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x0A","kc_type":"watch6"},"N157bDEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x0B","kc_type":"watch6"}},"mem_class":"0x0F","sdk":"watchos"},"Watch6,3":{"name":"Apple Watch Series 6 (GPS + Cellular)","boards":{"N158sAP":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x0C","bbid":"0x00000067","kc_type":"watch6"},"N158sDEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x0D","bbid":"0x00000067","kc_type":"watch6"}},"mem_class":"0x0F","sdk":"watchos"},"Watch6,4":{"name":"Apple Watch Series 6 (GPS + Cellular)","boards":{"N158bAP":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x0E","bbid":"0x00000067","kc_type":"watch6"},"N158bDEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x0F","bbid":"0x00000067","kc_type":"watch6"},"T8301refDEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x00"}},"mem_class":"0x0F","sdk":"watchos"},"Watch6,6":{"name":"Apple Watch Series 7 (GPS)","boards":{"N187sAP":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x10","kc_type":"watch6"},"N187sDEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x11","kc_type":"watch6"}},"mem_class":"0x0F","sdk":"watchos"},"Watch6,7":{"name":"Apple Watch Series 7 (GPS)","boards":{"N187bAP":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x12","kc_type":"watch6"},"N187bDEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x13","kc_type":"watch6"}},"mem_class":"0x0F","sdk":"watchos"},"Watch6,8":{"name":"Apple Watch Series 7 (GPS + Cellular)","boards":{"N188sAP":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x14","bbid":"0x00000067","kc_type":"watch6"},"N188sDEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x15","bbid":"0x00000067","kc_type":"watch6"}},"mem_class":"0x0F","sdk":"watchos"},"Watch6,9":{"name":"Apple Watch Series 7 (GPS + Cellular)","boards":{"N188bAP":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x16","bbid":"0x00000067","kc_type":"watch6"},"N188bDEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x17","bbid":"0x00000067","kc_type":"watch6"}},"mem_class":"0x0F","sdk":"watchos"},"afw1,10":{"name":"AirTag","desc":"afw","boards":{"R1W1AP":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"},"R1W1DEV":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"}},"sdk":"watchos"},"afw1,11":{"name":"AirTag","desc":"afw","boards":{"R1P2AP":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"},"R1P2DEV":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"}},"sdk":"iphoneos"},"afw1,2":{"name":"AirTag","desc":"afw","boards":{"R1P0AP":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"},"R1P0DEV":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"}},"sdk":"iphoneos"},"afw1,3":{"name":"AirTag","desc":"afw","boards":{"R1W0AP":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"},"R1W0DEV":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"}},"sdk":"watchos"},"afw1,4":{"name":"AirTag","desc":"afw","boards":{"R1PD0AP":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"},"R1PD0DEV":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"}},"sdk":"iphoneos"},"afw1,5":{"name":"AirTag","desc":"afw","boards":{"B389AP":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"},"B389DEV":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"}},"sdk":"iphoneos"},"afw1,6":{"name":"AirTag","desc":"afw","boards":{"R1P1AP":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"},"R1P1DEV":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"}},"sdk":"iphoneos"},"afw1,7":{"name":"AirTag","desc":"afw","boards":{"R1HP0AP":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"},"R1HP0DEV":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"}},"sdk":"appletvos"},"afw1,8":{"name":"AirTag","desc":"afw","boards":{"R1PD1AP":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"},"R1PD1DEV":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"}},"sdk":"iphoneos"},"afw1,9":{"name":"AirTag","desc":"afw","boards":{"R1KB0AP":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"},"R1KB0DEV":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown"}},"sdk":"macosx"},"iBatt1,1":{"desc":"Battery X1441","boards":{"X1441":{"cpu":"Bat?","platform":"t200","platform_name":"Veridian","cpuid":"0xE101","cpuisa":"unknown","board_id":"0x1441"}},"sdk":"none"},"iBatt1,2":{"desc":"Battery X1442","boards":{"X1442":{"cpu":"Bat?","platform":"t200","platform_name":"Veridian","cpuid":"0xE101","cpuisa":"unknown","board_id":"0x1442"}},"sdk":"none"},"iBatt1,3":{"desc":"Battery X1443","boards":{"X1443":{"cpu":"Bat?","platform":"t200","platform_name":"Veridian","cpuid":"0xE101","cpuisa":"unknown","board_id":"0x1443"}},"sdk":"none"},"iBatt2,1":{"desc":"Battery X1652","boards":{"X1652":{"cpu":"Bat?","platform":"t200","platform_name":"Veridian","cpuid":"0xE101","cpuisa":"unknown","board_id":"0x1652"}},"sdk":"none"},"iBatt2,2":{"desc":"Battery X1653","boards":{"X1653":{"cpu":"Bat?","platform":"t200","platform_name":"Veridian","cpuid":"0xE101","cpuisa":"unknown","board_id":"0x1653"}},"sdk":"none"},"iBatt2,3":{"desc":"Battery X1666","boards":{"X1666":{"cpu":"Bat?","platform":"t200","platform_name":"Veridian","cpuid":"0xE101","cpuisa":"unknown","board_id":"0x1666"}},"sdk":"none"},"iBatt3,1":{"desc":"Battery X1863","boards":{"X1861":{"cpu":"Bat?","platform":"t200","platform_name":"Veridian","cpuid":"0xE101","cpuisa":"unknown","board_id":"0x1861"},"X1862":{"cpu":"Bat?","platform":"t200","platform_name":"Veridian","cpuid":"0xE101","cpuisa":"unknown","board_id":"0x1862"},"X1863":{"cpu":"Bat?","platform":"t200","platform_name":"Veridian","cpuid":"0xE101","cpuisa":"unknown","board_id":"0x1863"},"X1864":{"cpu":"Bat?","platform":"t200","platform_name":"Veridian","cpuid":"0xE101","cpuisa":"unknown","board_id":"0x1864"}},"sdk":"none"},"iBatt3,9":{"name":"Battery X2349","boards":{"X2349":{"cpu":"Bat?","platform":"T200","platform_name":"Veridian","cpuid":"0xE101","arch":"unknown","cpuisa":"unknown","board_id":"0x2349"}},"sdk":"none"},"iBridge1,1":{"name":"Apple iBridge","boards":{"X619AP":{"cpu":"S1P","platform":"t8002","platform_name":"M8","cpuid":"0x8002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x12","kc_type":"x619"},"X619DEV":{"cpu":"S1P","platform":"t8002","platform_name":"M8","cpuid":"0x8002","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x13","kc_type":"x619"}},"mem_class":"0x00","sdk":"deprecated"},"iBridge2,1":{"name":"Apple iBridge","boards":{"J137AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x0A","kc_type":"ibridge2d"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,10":{"name":"J213","desc":"Apple iBridge","boards":{"J213AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x18","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,12":{"name":"J140a","desc":"Apple iBridge","boards":{"J140aAP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x37","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,13":{"name":"J214","desc":"Apple iBridge","boards":{"J214AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x1E","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,14":{"name":"J152F","desc":"Apple iBridge","boards":{"J152FAP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x3A","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,15":{"name":"J230k","desc":"Apple iBridge","boards":{"J230kAP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x3F","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,16":{"name":"J214k","desc":"Apple iBridge","boards":{"J214kAP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x3E","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,19":{"name":"Apple iBridge","boards":{"J185AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x22","kc_type":"ibridge2d"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,20":{"name":"Apple iBridge","boards":{"J185fAP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x23","kc_type":"ibridge2d"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,21":{"name":"J223","desc":"Apple iBridge","boards":{"J223AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x3B","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,22":{"name":"J215","desc":"Apple iBridge","boards":{"J215AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x38","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,3":{"name":"J680","desc":"Apple iBridge","boards":{"J680AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x0B","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,4":{"name":"J132","desc":"Apple iBridge","boards":{"J132AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x0C","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,5":{"name":"Apple iBridge","boards":{"J174AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x0E","kc_type":"ibridge2d"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,6":{"name":"Apple iBridge","boards":{"J160AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x0F","kc_type":"ibridge2d"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,7":{"name":"J780","desc":"Apple iBridge","boards":{"J780AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x07","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridge2,8":{"name":"J140k","desc":"Apple iBridge","boards":{"J140KAP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x17","kc_type":"ibridge2p"}},"mem_class":"0x00","sdk":"bridgeos"},"iBridgeRef2,1":{"name":"X589AMLU","desc":"Apple iBridge","boards":{"X589AMLUDEV":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x19","kc_type":"x589kblu"}},"mem_class":"0x00","sdk":"bridgeos"},"iFPGA":{"name":"iFPGA","boards":{"T2002FPGADEV":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0xFFFF"},"T6000fpgabDEV":{"cpu":"M1 Pro","platform":"t6000","platform_name":"H13S","cpuid":"0x6000","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0xFE","kc_type":"t6000consolidated"},"T6001fpgabDEV":{"cpu":"M1 Max","platform":"t6001","platform_name":"H13C","cpuid":"0x6001","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0xFE","kc_type":"t6000consolidated"},"T6002fpgabDEV":{"cpu":"M2?","platform":"t6002","platform_name":"H13D","cpuid":"0x6002","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0xFE","kc_type":"t6000consolidated"},"T8004simDEV":{"cpu":"S3 Non-LTE and LTE","platform":"t8004","platform_name":"M8P","cpuid":"0x8004","arch":"armv7k","cpuisa":"ARMv7k","board_id":"0x3D","kc_type":"t8004consolidated"},"T8101fpgaDEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0xFF","kc_type":"t8101consolidated"},"T8103fpgaDEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0xFF","kc_type":"t8103consolidated"},"T8103fpgabDEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0xFE","kc_type":"t8103consolidated"},"T8110fpgaDEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0xFF","kc_type":"t8110consolidated"},"T8301fpgaDEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0xFF","kc_type":"t8301consolidated"}},"sdk":"macosx"},"iMac21,1":{"name":"iMac (24-inch, M1, 2021)","boards":{"J456AP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x28","kc_type":"mac13g"},"J456DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x29","kc_type":"mac13g"}},"mem_class":"0x10","sdk":"macosx"},"iMac21,2":{"name":"iMac (24-inch, M1, 2021)","boards":{"J457AP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x2A","kc_type":"mac13g"},"J457DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x2B","kc_type":"mac13g"}},"mem_class":"0x10","sdk":"macosx"},"iMacPro1,1":{"boards":{"J137MACAP":{"platform":"x86_64","platform_name":"X86_64","cpuid":"0x8012","arch":"x86_64","board_id":"0x0A"}},"sdk":"macosx"},"iPad1,1":{"name":"iPad","boards":{"K48AP":{"platform":"s5l8930x","cpuid":"0x8930","board_id":"0x02","kc_type":"k48"}}},"iPad11,1":{"name":"iPad mini (5th generation)","boards":{"J210AP":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x14","kc_type":"ipad11"},"J210DEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x15","kc_type":"ipad11"}},"mem_class":"0x04","sdk":"iphoneos"},"iPad11,2":{"name":"iPad mini (5th generation)","boards":{"J211AP":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x16","bbid":"0x0000005E","kc_type":"ipad11"},"J211DEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x17","bbid":"0x0000005E","kc_type":"ipad11"}},"mem_class":"0x04","sdk":"iphoneos"},"iPad11,3":{"name":"iPad Air (3rd generation)","boards":{"J217AP":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1C","kc_type":"ipad11"},"J217DEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1D","kc_type":"ipad11"}},"mem_class":"0x04","sdk":"iphoneos"},"iPad11,4":{"name":"iPad Air (3rd generation)","boards":{"J218AP":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1E","bbid":"0x0000005E","kc_type":"ipad11"},"J218DEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1F","bbid":"0x0000005E","kc_type":"ipad11"}},"mem_class":"0x04","sdk":"iphoneos"},"iPad11,6":{"name":"iPad (8th generation)","boards":{"J171aAP":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x24","kc_type":"ipad11b"},"J171aDEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x25","kc_type":"ipad11b"}},"mem_class":"0x04","sdk":"iphoneos"},"iPad11,7":{"name":"iPad (8th generation)","boards":{"J172aAP":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x26","bbid":"0x0000005E","kc_type":"ipad11b"},"J172aDEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x27","bbid":"0x0000005E","kc_type":"ipad11b"}},"mem_class":"0x04","sdk":"iphoneos"},"iPad12,1":{"name":"iPad","desc":"iPad (9th generation)","boards":{"J181AP":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x18","kc_type":"ipad12p"},"J181DEV":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x19","kc_type":"ipad12p"}},"mem_class":"0x04","sdk":"iphoneos"},"iPad12,2":{"name":"iPad","desc":"iPad (9th generation)","boards":{"J182AP":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x1A","bbid":"0x0000005E","kc_type":"ipad12p"},"J182DEV":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x1B","bbid":"0x0000005E","kc_type":"ipad12p"}},"mem_class":"0x04","sdk":"iphoneos"},"iPad13,1":{"name":"iPad Air (4th generation)","boards":{"J307AP":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x04","kc_type":"ipad13p"},"J307DEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x05","kc_type":"ipad13p"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad13,10":{"name":"iPad Pro (12.9-inch) (5th generation)","boards":{"J523AP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x1C","bbid":"0x000E50E1","kc_type":"ipad13"},"J523DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x1D","bbid":"0x000E50E1","kc_type":"ipad13"}},"mem_class":"0x08","sdk":"iphoneos"},"iPad13,11":{"name":"iPad Pro (12.9-inch) (5th generation)","boards":{"J523xAP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x1E","bbid":"0x000E50E1","kc_type":"ipad13"},"J523xDEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x1F","bbid":"0x000E50E1","kc_type":"ipad13"}},"mem_class":"0x10","sdk":"iphoneos"},"iPad13,2":{"name":"iPad Air (4th generation)","boards":{"J308AP":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x06","bbid":"0x00000068","kc_type":"ipad13p"},"J308DEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x07","bbid":"0x00000068","kc_type":"ipad13p"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad13,3":{"name":"t8103ref","boards":{"T8103refDEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iPad13,4":{"name":"iPad Pro (11-inch) (3rd generation)","boards":{"J517AP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x08","kc_type":"ipad13"},"J517DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x09","kc_type":"ipad13"}},"mem_class":"0x08","sdk":"iphoneos"},"iPad13,5":{"name":"iPad Pro (11-inch) (3rd generation)","boards":{"J517xAP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0A","kc_type":"ipad13"},"J517xDEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0B","kc_type":"ipad13"}},"mem_class":"0x10","sdk":"iphoneos"},"iPad13,6":{"name":"iPad Pro (11-inch) (3rd generation)","boards":{"J518AP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0C","bbid":"0x000E50E1","kc_type":"ipad13"},"J518DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0D","bbid":"0x000E50E1","kc_type":"ipad13"}},"mem_class":"0x08","sdk":"iphoneos"},"iPad13,7":{"name":"iPad Pro (11-inch) (3rd generation)","boards":{"J518xAP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0E","bbid":"0x000E50E1","kc_type":"ipad13"},"J518xDEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0F","bbid":"0x000E50E1","kc_type":"ipad13"}},"mem_class":"0x10","sdk":"iphoneos"},"iPad13,8":{"name":"iPad Pro (12.9-inch) (5th generation)","boards":{"J522AP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x18","kc_type":"ipad13"},"J522DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x19","kc_type":"ipad13"}},"mem_class":"0x08","sdk":"iphoneos"},"iPad13,9":{"name":"iPad Pro (12.9-inch) (5th generation)","boards":{"J522xAP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x1A","kc_type":"ipad13"},"J522xDEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x1B","kc_type":"ipad13"}},"mem_class":"0x10","sdk":"iphoneos"},"iPad14,1":{"name":"iPad mini","desc":"iPad mini (6th generation)","boards":{"J310AP":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x04","kc_type":"ipad14p"},"J310DEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x05","kc_type":"ipad14p"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad14,2":{"name":"iPad mini","desc":"iPad mini (6th generation)","boards":{"J311AP":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x06","bbid":"0x001440E1","kc_type":"ipad14p"},"J311DEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x07","bbid":"0x001440E1","kc_type":"ipad14p"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad2,1":{"name":"iPad 2","boards":{"K93AP":{"cpu":"A5","platform":"s5l8940x","cpuid":"0x8940","arch":"armv7","cpuisa":"ARMv7","board_id":"0x04","kc_type":"k93"}},"mem_class":"0"},"iPad2,2":{"name":"iPad 2","boards":{"K94AP":{"cpu":"A5","platform":"s5l8940x","cpuid":"0x8940","arch":"armv7","cpuisa":"ARMv7","board_id":"0x06","bbid":"0x50","kc_type":"k94"}},"mem_class":"0"},"iPad2,3":{"name":"iPad 2","boards":{"K95AP":{"cpu":"A5","platform":"s5l8940x","cpuid":"0x8940","arch":"armv7","cpuisa":"ARMv7","board_id":"0x02","bbid":"0x005000E1","kc_type":"k95"}},"mem_class":"0"},"iPad2,4":{"name":"iPad 2","boards":{"K93AAP":{"cpu":"A5","platform":"s5l8942x","cpuid":"0x8942","arch":"armv7","cpuisa":"ARMv7","board_id":"0x06","kc_type":"k93a"}},"mem_class":"0"},"iPad2,5":{"name":"iPad mini","boards":{"P105AP":{"cpu":"A5","platform":"s5l8942x","cpuid":"0x8942","arch":"armv7","cpuisa":"ARMv7","board_id":"0x0A","kc_type":"p105"}},"mem_class":"0"},"iPad2,6":{"name":"iPad mini","boards":{"P106AP":{"cpu":"A5","platform":"s5l8942x","cpuid":"0x8942","arch":"armv7","cpuisa":"ARMv7","board_id":"0x0C","bbid":"0x006F10E1","kc_type":"p106"}},"mem_class":"0"},"iPad2,7":{"name":"iPad mini","boards":{"P107AP":{"cpu":"A5","platform":"s5l8942x","cpuid":"0x8942","arch":"armv7","cpuisa":"ARMv7","board_id":"0x0E","bbid":"0x006F10E1","kc_type":"p107"}},"mem_class":"0"},"iPad3,1":{"name":"iPad (3rd generation)","boards":{"J1AP":{"cpu":"A5X","platform":"s5l8945x","cpuid":"0x8945","arch":"armv7","cpuisa":"ARMv7","board_id":"0x00","kc_type":"j1"}},"mem_class":"1"},"iPad3,2":{"name":"iPad (3rd generation)","boards":{"J2AP":{"cpu":"A5X","platform":"s5l8945x","cpuid":"0x8945","arch":"armv7","cpuisa":"ARMv7","board_id":"0x02","bbid":"0x004600E1","kc_type":"j2"}},"mem_class":"1"},"iPad3,3":{"name":"iPad (3rd generation)","boards":{"J2AAP":{"cpu":"A5X","platform":"s5l8945x","cpuid":"0x8945","arch":"armv7","cpuisa":"ARMv7","board_id":"0x04","bbid":"0x004600E1","kc_type":"j2a"}},"mem_class":"1"},"iPad3,4":{"name":"iPad","desc":"iPad (4th generation)","boards":{"P101AP":{"cpu":"A6X","platform":"s5l8955x","platform_name":"H5G","cpuid":"0x8955","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x00","kc_type":"ipad3b"},"P101DEV":{"cpu":"A6X","platform":"s5l8955x","platform_name":"H5G","cpuid":"0x8955","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x01","kc_type":"ipad3b"}},"mem_class":"0x01","sdk":"deprecated"},"iPad3,5":{"name":"iPad","desc":"iPad (4th generation)","boards":{"P102AP":{"cpu":"A6X","platform":"s5l8955x","platform_name":"H5G","cpuid":"0x8955","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x02","bbid":"0x006F10E1","kc_type":"ipad3b"},"P102DEV":{"cpu":"A6X","platform":"s5l8955x","platform_name":"H5G","cpuid":"0x8955","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x03","bbid":"0x006F10E1","kc_type":"ipad3b"}},"mem_class":"0x01","sdk":"deprecated"},"iPad3,6":{"name":"iPad","desc":"iPad (4th generation)","boards":{"P103AP":{"cpu":"A6X","platform":"s5l8955x","platform_name":"H5G","cpuid":"0x8955","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x04","bbid":"0x006F10E1","kc_type":"ipad3b"},"P103DEV":{"cpu":"A6X","platform":"s5l8955x","platform_name":"H5G","cpuid":"0x8955","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x05","bbid":"0x006F10E1","kc_type":"ipad3b"}},"mem_class":"0x01","sdk":"deprecated"},"iPad4,1":{"name":"iPad Air","boards":{"J72J71AP":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x10","kc_type":"ipad4"},"J72J71DEV":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x11","kc_type":"ipad4"}},"mem_class":"0x01","sdk":"deprecated"},"iPad4,2":{"name":"iPad Air","boards":{"J72AP":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x12","bbid":"0x006F20E1","kc_type":"ipad4"},"J72DEV":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x13","bbid":"0x006F20E1","kc_type":"ipad4"}},"mem_class":"0x01","sdk":"deprecated"},"iPad4,3":{"name":"iPad Air","boards":{"J72J73AP":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x14","bbid":"0x006F20E1","kc_type":"ipad4"},"J72J73DEV":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x15","bbid":"0x006F20E1","kc_type":"ipad4"}},"mem_class":"0x01","sdk":"deprecated"},"iPad4,4":{"name":"iPad mini 2","boards":{"J85AP":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x0A","kc_type":"ipad4b"},"J85DEV":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x0B","kc_type":"ipad4b"}},"mem_class":"0x01","sdk":"deprecated"},"iPad4,5":{"name":"iPad mini 2","boards":{"J85J86AP":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x0C","bbid":"0x006F20E1","kc_type":"ipad4b"},"J85J86DEV":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x0D","bbid":"0x006F20E1","kc_type":"ipad4b"}},"mem_class":"0x01","sdk":"deprecated"},"iPad4,6":{"name":"iPad mini 2","boards":{"J85J87AP":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x0E","bbid":"0x006F20E1","kc_type":"ipad4b"},"J85J87DEV":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x0F","bbid":"0x006F20E1","kc_type":"ipad4b"}},"mem_class":"0x01","sdk":"deprecated"},"iPad4,7":{"name":"iPad mini 3","boards":{"J85MAP":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x32","kc_type":"ipad4bm"},"J85MDEV":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x33","kc_type":"ipad4bm"}},"mem_class":"0x01","sdk":"deprecated"},"iPad4,8":{"name":"iPad mini 3","boards":{"J85J86MAP":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x34","bbid":"0x006F20E1","kc_type":"ipad4bm"},"J85J86MDEV":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x35","bbid":"0x006F20E1","kc_type":"ipad4bm"}},"mem_class":"0x01","sdk":"deprecated"},"iPad4,9":{"name":"iPad mini 3","boards":{"J85J87MAP":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x36","bbid":"0x006F20E1","kc_type":"ipad4bm"},"J85J87MDEV":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x37","bbid":"0x006F20E1","kc_type":"ipad4bm"}},"mem_class":"0x01","sdk":"deprecated"},"iPad5,1":{"name":"iPad mini 4","boards":{"J96AP":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x08","kc_type":"ipad5"},"J96DEV":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x09","kc_type":"ipad5"}},"mem_class":"0x02","sdk":"iphoneos"},"iPad5,2":{"name":"iPad mini 4","boards":{"J96J97AP":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x0A","bbid":"0x007F50E1","kc_type":"ipad5"},"J96J97DEV":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x0B","bbid":"0x007F50E1","kc_type":"ipad5"}},"mem_class":"0x02","sdk":"iphoneos"},"iPad5,3":{"name":"iPad Air 2","boards":{"J82J81AP":{"cpu":"A8X","platform":"t7001","platform_name":"H7G","cpuid":"0x7001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x06","kc_type":"ipad5b"},"J82J81DEV":{"cpu":"A8X","platform":"t7001","platform_name":"H7G","cpuid":"0x7001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x07","kc_type":"ipad5b"}},"mem_class":"0x02","sdk":"iphoneos"},"iPad5,4":{"name":"iPad Air 2","boards":{"J82AP":{"cpu":"A8X","platform":"t7001","platform_name":"H7G","cpuid":"0x7001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x02","bbid":"0x007F50E1","kc_type":"ipad5b"},"J82DEV":{"cpu":"A8X","platform":"t7001","platform_name":"H7G","cpuid":"0x7001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x03","bbid":"0x007F50E1","kc_type":"ipad5b"}},"mem_class":"0x02","sdk":"iphoneos"},"iPad6,11":{"name":"iPad (5th generation)","boards":{"J71sAP":{"cpu":"A9","platform":"s8000","platform_name":"H8P","cpuid":"0x8000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x10","kc_type":"ipad6f"},"J71sDEV":{"cpu":"A9","platform":"s8000","platform_name":"H8P","cpuid":"0x8000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x11","kc_type":"ipad6f"},"J71tAP":{"cpu":"A9","platform":"s8003","platform_name":"H8P","cpuid":"0x8003","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x10","kc_type":"ipad6f"},"J71tDEV":{"cpu":"A9","platform":"s8003","platform_name":"H8P","cpuid":"0x8003","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x11","kc_type":"ipad6f"}},"mem_class":"0x02","sdk":"iphoneos"},"iPad6,12":{"name":"iPad (5th generation)","boards":{"J72sAP":{"cpu":"A9","platform":"s8000","platform_name":"H8P","cpuid":"0x8000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x12","bbid":"0x007F50E1","kc_type":"ipad6f"},"J72sDEV":{"cpu":"A9","platform":"s8000","platform_name":"H8P","cpuid":"0x8000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x13","bbid":"0x007F50E1","kc_type":"ipad6f"},"J72tAP":{"cpu":"A9","platform":"s8003","platform_name":"H8P","cpuid":"0x8003","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x12","bbid":"0x007F50E1","kc_type":"ipad6f"},"J72tDEV":{"cpu":"A9","platform":"s8003","platform_name":"H8P","cpuid":"0x8003","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x13","bbid":"0x007F50E1","kc_type":"ipad6f"}},"mem_class":"0x02","sdk":"iphoneos"},"iPad6,3":{"name":"iPad Pro","desc":"iPad Pro (9.7-inch)","boards":{"J127AP":{"cpu":"A9X","platform":"s8001","platform_name":"H8G","cpuid":"0x8001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x08","kc_type":"ipad6b"},"J127DEV":{"cpu":"A9X","platform":"s8001","platform_name":"H8G","cpuid":"0x8001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x09","kc_type":"ipad6b"}},"mem_class":"0x02","sdk":"iphoneos"},"iPad6,4":{"name":"iPad Pro","desc":"iPad Pro (9.7-inch)","boards":{"J128AP":{"cpu":"A9X","platform":"s8001","platform_name":"H8G","cpuid":"0x8001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x0A","bbid":"0x009210E1","kc_type":"ipad6b"},"J128DEV":{"cpu":"A9X","platform":"s8001","platform_name":"H8G","cpuid":"0x8001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x0B","bbid":"0x009210E1","kc_type":"ipad6b"}},"mem_class":"0x02","sdk":"iphoneos"},"iPad6,7":{"name":"iPad Pro","desc":"iPad Pro (12.9-inch)","boards":{"J98aAP":{"cpu":"A9X","platform":"s8001","platform_name":"H8G","cpuid":"0x8001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x10","kc_type":"ipad6d"},"J98aDEV":{"cpu":"A9X","platform":"s8001","platform_name":"H8G","cpuid":"0x8001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x11","kc_type":"ipad6d"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad6,8":{"name":"iPad Pro","desc":"iPad Pro (12.9-inch)","boards":{"J99aAP":{"cpu":"A9X","platform":"s8001","platform_name":"H8G","cpuid":"0x8001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x12","bbid":"0x007F50E1","kc_type":"ipad6d"},"J99aDEV":{"cpu":"A9X","platform":"s8001","platform_name":"H8G","cpuid":"0x8001","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x13","bbid":"0x007F50E1","kc_type":"ipad6d"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad7,1":{"name":"iPad Pro (12.9-inch) (2nd generation)","boards":{"J120AP":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0C","kc_type":"ipad7"},"J120DEV":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0D","kc_type":"ipad7"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad7,10":{"name":"iPad Pro XXX (T368)","boards":{"T368AP":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x12","bbid":"0x0000005E","kc_type":"t36x"},"T368DEV":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x13","bbid":"0x0000005E","kc_type":"t36x"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad7,11":{"name":"iPad (7th generation)","boards":{"J171AP":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x1C","kc_type":"ipad7c"},"J171DEV":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x1D","kc_type":"ipad7c"}},"mem_class":"0x04","sdk":"iphoneos"},"iPad7,12":{"name":"iPad (7th generation)","boards":{"J172AP":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x1E","bbid":"0x0000005E","kc_type":"ipad7c"},"J172DEV":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x1F","bbid":"0x0000005E","kc_type":"ipad7c"}},"mem_class":"0x04","sdk":"iphoneos"},"iPad7,2":{"name":"iPad Pro (12.9-inch) (2nd generation)","boards":{"J121AP":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0E","bbid":"0x009540E1","kc_type":"ipad7"},"J121DEV":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0F","bbid":"0x009540E1","kc_type":"ipad7"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad7,3":{"name":"iPad Pro (10.5-inch)","boards":{"J207AP":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x04","kc_type":"ipad7"},"J207DEV":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x05","kc_type":"ipad7"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad7,4":{"name":"iPad Pro (10.5-inch)","boards":{"J208AP":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x06","bbid":"0x009540E1","kc_type":"ipad7"},"J208DEV":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x07","bbid":"0x009540E1","kc_type":"ipad7"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad7,5":{"name":"iPad (6th generation)","boards":{"J71bAP":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x18","kc_type":"ipad7b"},"J71bDEV":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x19","kc_type":"ipad7b"}},"mem_class":"0x02","sdk":"iphoneos"},"iPad7,6":{"name":"iPad (6th generation)","boards":{"J72bAP":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x1A","bbid":"0x009210E1","kc_type":"ipad7b"},"J72bDEV":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x1B","bbid":"0x009210E1","kc_type":"ipad7b"}},"mem_class":"0x02","sdk":"iphoneos"},"iPad7,7":{"name":"iPad Pro XXX (T365)","boards":{"T365AP":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x14","kc_type":"t36x"},"T365DEV":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x15","kc_type":"t36x"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad7,8":{"name":"iPad Pro XXX (T366)","boards":{"T366AP":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x16","bbid":"0x0000005E","kc_type":"t36x"},"T366DEV":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x17","bbid":"0x0000005E","kc_type":"t36x"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad7,9":{"name":"iPad Pro XXX (T367)","boards":{"T367AP":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x10","kc_type":"t36x"},"T367DEV":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x11","kc_type":"t36x"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad8,1":{"name":"iPad Pro (11-inch)","boards":{"J317AP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0C","kc_type":"ipad8"},"J317DEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0D","kc_type":"ipad8"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad8,10":{"name":"iPad Pro (11-inch) (2nd generation)","boards":{"J418AP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x3E","bbid":"0x00000068","kc_type":"ipad8b"},"J418DEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x3F","bbid":"0x00000068","kc_type":"ipad8b"}},"mem_class":"0x06","sdk":"iphoneos"},"iPad8,11":{"name":"ArubaRef","boards":{"ArubarefDEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x00","kc_type":"t8027consolidated"},"J420AP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x38","kc_type":"ipad8b"},"J420DEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x39","kc_type":"ipad8b"}},"sdk":"iphoneos"},"iPad8,12":{"name":"ArubaUIRef","boards":{"ArubauirefDEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x01","kc_type":"t8027consolidated"},"J421AP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x3A","bbid":"0x00000068","kc_type":"ipad8b"},"J421DEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x3B","bbid":"0x00000068","kc_type":"ipad8b"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad8,2":{"name":"iPad Pro (11-inch)","boards":{"J317xAP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1C","kc_type":"ipad8"},"J317xDEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1D","kc_type":"ipad8"}},"mem_class":"0x06","sdk":"iphoneos"},"iPad8,3":{"name":"iPad Pro (11-inch)","boards":{"J318AP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0E","bbid":"0x0000005E","kc_type":"ipad8"},"J318DEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0F","bbid":"0x0000005E","kc_type":"ipad8"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad8,4":{"name":"iPad Pro (11-inch)","boards":{"J318xAP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1E","bbid":"0x0000005E","kc_type":"ipad8"},"J318xDEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1F","bbid":"0x0000005E","kc_type":"ipad8"}},"mem_class":"0x06","sdk":"iphoneos"},"iPad8,5":{"name":"iPad Pro (12.9-inch) (3rd generation)","boards":{"J320AP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x08","kc_type":"ipad8"},"J320DEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x09","kc_type":"ipad8"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad8,6":{"name":"iPad Pro (12.9-inch) (3rd generation)","boards":{"J320xAP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x18","kc_type":"ipad8"},"J320xDEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x19","kc_type":"ipad8"}},"mem_class":"0x06","sdk":"iphoneos"},"iPad8,7":{"name":"iPad Pro (12.9-inch) (3rd generation)","boards":{"J321AP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0A","bbid":"0x0000005E","kc_type":"ipad8"},"J321DEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0B","bbid":"0x0000005E","kc_type":"ipad8"}},"mem_class":"0x03","sdk":"iphoneos"},"iPad8,8":{"name":"iPad Pro (12.9-inch) (3rd generation)","boards":{"J321xAP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1A","bbid":"0x0000005E","kc_type":"ipad8"},"J321xDEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1B","bbid":"0x0000005E","kc_type":"ipad8"}},"mem_class":"0x06","sdk":"iphoneos"},"iPad8,9":{"name":"iPad Pro (11-inch) (2nd generation)","boards":{"J417AP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x3C","kc_type":"ipad8b"},"J417DEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x3D","kc_type":"ipad8b"}},"mem_class":"0x06","sdk":"iphoneos"},"iPhone1,1":{"name":"iPhone","boards":{"M68AP":{"platform":"s5l8900x","cpuid":"0x8900","board_id":"0x00"}}},"iPhone1,2":{"name":"iPhone 3G","boards":{"N82AP":{"platform":"s5l8900x","cpuid":"0x8900","board_id":"0x04","kc_type":"n82"}}},"iPhone10,1":{"name":"iPhone 8","boards":{"D20AP":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x02","bbid":"0x0003B0E1","kc_type":"iphone10"},"D20DEV":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x03","bbid":"0x0003B0E1","kc_type":"iphone10"}},"mem_class":"0x02","sdk":"iphoneos"},"iPhone10,2":{"name":"iPhone 8 Plus","boards":{"D21AP":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x04","bbid":"0x0003B0E1","kc_type":"iphone10"},"D21DEV":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x05","bbid":"0x0003B0E1","kc_type":"iphone10"}},"mem_class":"0x04","sdk":"iphoneos"},"iPhone10,3":{"name":"iPhone X","boards":{"D22AP":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x06","bbid":"0x0003B0E1","kc_type":"iphone10b"},"D22DEV":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x07","bbid":"0x0003B0E1","kc_type":"iphone10b"}},"mem_class":"0x04","sdk":"iphoneos"},"iPhone10,4":{"name":"iPhone 8","boards":{"D201AP":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x0A","bbid":"0x00000065","kc_type":"iphone10"},"D201DEV":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x0B","bbid":"0x00000065","kc_type":"iphone10"}},"mem_class":"0x02","sdk":"iphoneos"},"iPhone10,5":{"name":"iPhone 8 Plus","boards":{"D211AP":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x0C","bbid":"0x00000065","kc_type":"iphone10"},"D211DEV":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x0D","bbid":"0x00000065","kc_type":"iphone10"}},"mem_class":"0x04","sdk":"iphoneos"},"iPhone10,6":{"name":"iPhone X","boards":{"D221AP":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x0E","bbid":"0x00000065","kc_type":"iphone10b"},"D221DEV":{"cpu":"A11 Bionic","platform":"t8015","platform_name":"H10P","cpuid":"0x8015","arch":"arm64","cpuisa":"ARMv8.2-A","board_id":"0x0F","bbid":"0x00000065","kc_type":"iphone10b"}},"mem_class":"0x04","sdk":"iphoneos"},"iPhone11,2":{"name":"iPhone XS","boards":{"D321AP":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0E","bbid":"0x0000005E","kc_type":"iphone11"},"D321DEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0F","bbid":"0x0000005E","kc_type":"iphone11"}},"mem_class":"0x03","sdk":"iphoneos"},"iPhone11,4":{"name":"iPhone XS Max","boards":{"D331AP":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0A","bbid":"0x0000005E","kc_type":"iphone11"},"D331DEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0B","bbid":"0x0000005E","kc_type":"iphone11"}},"mem_class":"0x03","sdk":"iphoneos"},"iPhone11,6":{"name":"iPhone XS Max","boards":{"D331pAP":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1A","bbid":"0x0000005E","kc_type":"iphone11"},"D331pDEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x1B","bbid":"0x0000005E","kc_type":"iphone11"}},"mem_class":"0x03","sdk":"iphoneos"},"iPhone11,8":{"name":"iPhone XR","boards":{"N841AP":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0C","bbid":"0x0000005E","kc_type":"iphone11b"},"N841DEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x0D","bbid":"0x0000005E","kc_type":"iphone11b"}},"mem_class":"0x04","sdk":"iphoneos"},"iPhone12,1":{"name":"iPhone 11","boards":{"N104AP":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x04","bbid":"0x00000068","kc_type":"iphone12b","research_support":true},"N104DEV":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x05","bbid":"0x00000068","kc_type":"iphone12b","research_support":true}},"mem_class":"0x03","sdk":"iphoneos"},"iPhone12,3":{"name":"iPhone 11 Pro","boards":{"D421AP":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x06","bbid":"0x00000068","kc_type":"iphone12"},"D421DEV":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x07","bbid":"0x00000068","kc_type":"iphone12"}},"mem_class":"0x03","sdk":"iphoneos"},"iPhone12,5":{"name":"iPhone 11 Pro Max","boards":{"D431AP":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x02","bbid":"0x00000068","kc_type":"iphone12"},"D431DEV":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x03","bbid":"0x00000068","kc_type":"iphone12"}},"mem_class":"0x03","sdk":"iphoneos"},"iPhone12,6":{"name":"CebuRef","boards":{"CeburefDEV":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x00","kc_type":"t8030consolidated"}},"sdk":"iphoneos"},"iPhone12,7":{"name":"CebuUIRef","boards":{"CebuuirefDEV":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x01","kc_type":"t8030consolidated"}},"mem_class":"0x04","sdk":"iphoneos"},"iPhone12,8":{"name":"iPhone SE (2nd generation)","boards":{"D79AP":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x10","bbid":"0x00000068","kc_type":"iphone12c"},"D79DEV":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x11","bbid":"0x00000068","kc_type":"iphone12c"}},"mem_class":"0x04","sdk":"iphoneos"},"iPhone13,1":{"name":"iPhone 12 mini","boards":{"D52gAP":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0A","bbid":"0x000E50E1","kc_type":"iphone13"},"D52gDEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0B","bbid":"0x000E50E1","kc_type":"iphone13"}},"mem_class":"0x03","sdk":"iphoneos"},"iPhone13,2":{"name":"iPhone 12","boards":{"D53gAP":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0C","bbid":"0x000E50E1","kc_type":"iphone13","research_support":true},"D53gDEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0D","bbid":"0x000E50E1","kc_type":"iphone13","research_support":true}},"mem_class":"0x03","sdk":"iphoneos"},"iPhone13,3":{"name":"iPhone 12 Pro","boards":{"D53pAP":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0E","bbid":"0x000E50E1","kc_type":"iphone13"},"D53pDEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0F","bbid":"0x000E50E1","kc_type":"iphone13"}},"mem_class":"0x06","sdk":"iphoneos"},"iPhone13,4":{"name":"iPhone 12 Pro Max","boards":{"D54pAP":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x08","bbid":"0x000E50E1","kc_type":"iphone13"},"D54pDEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x09","bbid":"0x000E50E1","kc_type":"iphone13"}},"mem_class":"0x06","sdk":"iphoneos"},"iPhone13,5":{"name":"t8101Ref","boards":{"T8101refDEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00","kc_type":"t8101consolidated"}},"mem_class":"0x03","sdk":"iphoneos"},"iPhone14,1":{"name":"t8110ref","boards":{"T8110refDEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iPhone14,2":{"name":"iPhone 13 Pro","boards":{"D63AP":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0C","bbid":"0x001440E1","kc_type":"iphone14"},"D63DEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0D","bbid":"0x001440E1","kc_type":"iphone14"}},"mem_class":"0x06","sdk":"iphoneos"},"iPhone14,3":{"name":"iPhone 13 Pro Max","boards":{"D64AP":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0E","bbid":"0x001440E1","kc_type":"iphone14"},"D64DEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0F","bbid":"0x001440E1","kc_type":"iphone14"}},"mem_class":"0x06","sdk":"iphoneos"},"iPhone14,4":{"name":"iPhone 13 mini","boards":{"D16AP":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x08","bbid":"0x001440E1","kc_type":"iphone14"},"D16DEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x09","bbid":"0x001440E1","kc_type":"iphone14"}},"mem_class":"0x03","sdk":"iphoneos"},"iPhone14,5":{"name":"iPhone 13","boards":{"D17AP":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0A","bbid":"0x001440E1","kc_type":"iphone14"},"D17DEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x0B","bbid":"0x001440E1","kc_type":"iphone14"}},"mem_class":"0x03","sdk":"iphoneos"},"iPhone2,1":{"name":"iPhone 3GS","boards":{"N88AP":{"platform":"s5l8920x","cpuid":"0x8920","board_id":"0x00","kc_type":"n88"}}},"iPhone3,1":{"name":"iPhone 4 (GSM)","boards":{"N90AP":{"platform":"s5l8930x","cpuid":"0x8930","board_id":"0x00","bbid":"0x50","kc_type":"n90"}}},"iPhone3,2":{"name":"iPhone 4 (GSM / 2012)","boards":{"N90bAP":{"platform":"s5l8930x","cpuid":"0x8930","board_id":"0x04","bbid":"0x50","kc_type":"n90b"}}},"iPhone3,3":{"name":"iPhone 4 (CDMA)","boards":{"N92AP":{"platform":"s5l8930x","cpuid":"0x8930","board_id":"0x06","bbid":"0x005000E1","kc_type":"n92"}}},"iPhone4,1":{"name":"iPhone 4S","boards":{"N94AP":{"cpu":"A5","platform":"s5l8940x","cpuid":"0x8940","arch":"armv7","cpuisa":"ARMv7","board_id":"0x08","bbid":"0x005A00E1","kc_type":"n94"}},"mem_class":"0"},"iPhone5,1":{"name":"iPhone 5","boards":{"N41AP":{"cpu":"A6","platform":"s5l8950x","platform_name":"H5P","cpuid":"0x8950","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x00","bbid":"0x006F10E1","kc_type":"iphone5"},"N41DEV":{"cpu":"A6","platform":"s5l8950x","platform_name":"H5P","cpuid":"0x8950","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x01","bbid":"0x006F10E1","kc_type":"iphone5"}},"mem_class":"0x01","sdk":"deprecated"},"iPhone5,2":{"name":"iPhone 5","boards":{"N42AP":{"cpu":"A6","platform":"s5l8950x","platform_name":"H5P","cpuid":"0x8950","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x02","bbid":"0x006F10E1","kc_type":"iphone5"},"N42DEV":{"cpu":"A6","platform":"s5l8950x","platform_name":"H5P","cpuid":"0x8950","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x03","bbid":"0x006F10E1","kc_type":"iphone5"}},"mem_class":"0x01","sdk":"deprecated"},"iPhone5,3":{"name":"iPhone 5c","boards":{"N48AP":{"cpu":"A6","platform":"s5l8950x","platform_name":"H5P","cpuid":"0x8950","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x0A","bbid":"0x006F20E1","kc_type":"iphone5b"},"N48DEV":{"cpu":"A6","platform":"s5l8950x","platform_name":"H5P","cpuid":"0x8950","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x0B","bbid":"0x006F20E1","kc_type":"iphone5b"}},"mem_class":"0x01","sdk":"deprecated"},"iPhone5,4":{"name":"iPhone 5c","boards":{"N49AP":{"cpu":"A6","platform":"s5l8950x","platform_name":"H5P","cpuid":"0x8950","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x0E","bbid":"0x006F20E1","kc_type":"iphone5b"},"N49DEV":{"cpu":"A6","platform":"s5l8950x","platform_name":"H5P","cpuid":"0x8950","arch":"armv7s","cpuisa":"ARMv7s","board_id":"0x0F","bbid":"0x006F20E1","kc_type":"iphone5b"}},"mem_class":"0x01","sdk":"deprecated"},"iPhone6,1":{"name":"iPhone 5s","boards":{"N51AP":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x00","bbid":"0x006F20E1","kc_type":"iphone6"},"N51DEV":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x01","bbid":"0x006F20E1","kc_type":"iphone6"}},"mem_class":"0x01","sdk":"deprecated"},"iPhone6,2":{"name":"iPhone 5s","boards":{"N51N53AP":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x02","bbid":"0x006F20E1","kc_type":"iphone6"},"N51N53DEV":{"cpu":"A7","platform":"s5l8960x","platform_name":"H6","cpuid":"0x8960","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x03","bbid":"0x006F20E1","kc_type":"iphone6"}},"mem_class":"0x01","sdk":"deprecated"},"iPhone7,1":{"name":"iPhone 6 Plus","boards":{"N56AP":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x04","bbid":"0x007F50E1","kc_type":"iphone7"},"N56DEV":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x05","bbid":"0x007F50E1","kc_type":"iphone7"}},"mem_class":"0x01","sdk":"deprecated"},"iPhone7,2":{"name":"iPhone 6","boards":{"N61AP":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x06","bbid":"0x007F50E1","kc_type":"iphone7"},"N61DEV":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x07","bbid":"0x007F50E1","kc_type":"iphone7"}},"mem_class":"0x01","sdk":"deprecated"},"iPhone8,1":{"name":"iPhone 6s","boards":{"N71AP":{"cpu":"A9","platform":"s8000","platform_name":"H8P","cpuid":"0x8000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x04","bbid":"0x009210E1","kc_type":"n71"},"N71DEV":{"cpu":"A9","platform":"s8000","platform_name":"H8P","cpuid":"0x8000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x05","bbid":"0x009210E1","kc_type":"n71"},"N71mAP":{"cpu":"A9","platform":"s8003","platform_name":"H8P","cpuid":"0x8003","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x04","bbid":"0x009210E1","kc_type":"n71"},"N71mDEV":{"cpu":"A9","platform":"s8003","platform_name":"H8P","cpuid":"0x8003","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x05","bbid":"0x009210E1","kc_type":"n71"}},"mem_class":"0x02","sdk":"iphoneos"},"iPhone8,2":{"name":"iPhone 6s Plus","boards":{"N66AP":{"cpu":"A9","platform":"s8000","platform_name":"H8P","cpuid":"0x8000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x06","bbid":"0x009210E1","kc_type":"n66"},"N66DEV":{"cpu":"A9","platform":"s8000","platform_name":"H8P","cpuid":"0x8000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x07","bbid":"0x009210E1","kc_type":"n66"},"N66mAP":{"cpu":"A9","platform":"s8003","platform_name":"H8P","cpuid":"0x8003","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x06","bbid":"0x009210E1","kc_type":"n66"},"N66mDEV":{"cpu":"A9","platform":"s8003","platform_name":"H8P","cpuid":"0x8003","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x07","bbid":"0x009210E1","kc_type":"n66"}},"mem_class":"0x02","sdk":"iphoneos"},"iPhone8,4":{"name":"iPhone SE (1st generation)","boards":{"N69AP":{"cpu":"A9","platform":"s8003","platform_name":"H8P","cpuid":"0x8003","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x02","bbid":"0x007F50E1","kc_type":"iphone8b"},"N69DEV":{"cpu":"A9","platform":"s8003","platform_name":"H8P","cpuid":"0x8003","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x03","bbid":"0x007F50E1","kc_type":"iphone8b"},"N69uAP":{"cpu":"A9","platform":"s8000","platform_name":"H8P","cpuid":"0x8000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x02","bbid":"0x007F50E1","kc_type":"iphone8b"},"N69uDEV":{"cpu":"A9","platform":"s8000","platform_name":"H8P","cpuid":"0x8000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x03","bbid":"0x007F50E1","kc_type":"iphone8b"}},"mem_class":"0x02","sdk":"iphoneos"},"iPhone9,1":{"name":"iPhone 7","boards":{"D10AP":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x08","bbid":"0x009540E1","kc_type":"iphone9"},"D10DEV":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x09","bbid":"0x009540E1","kc_type":"iphone9"}},"mem_class":"0x02","sdk":"iphoneos"},"iPhone9,2":{"name":"iPhone 7 Plus","boards":{"D11AP":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0A","bbid":"0x009540E1","kc_type":"iphone9"},"D11DEV":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0B","bbid":"0x009540E1","kc_type":"iphone9"}},"mem_class":"0x04","sdk":"iphoneos"},"iPhone9,3":{"name":"iPhone 7","boards":{"D101AP":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0C","bbid":"0x00000060","kc_type":"iphone9"},"D101DEV":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0D","bbid":"0x00000060","kc_type":"iphone9"}},"mem_class":"0x02","sdk":"iphoneos"},"iPhone9,4":{"name":"iPhone 7 Plus","boards":{"D111AP":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0E","bbid":"0x00000060","kc_type":"iphone9"},"D111DEV":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0F","bbid":"0x00000060","kc_type":"iphone9"}},"mem_class":"0x04","sdk":"iphoneos"},"iPhone99,2":{"name":"virtual machine for ARM-v8.4 with Apple Silicon extensions","boards":{"Vma2iosAP":{"platform":"vmapple2","platform_name":"VMApple2","cpuid":"0xFE00","arch":"arm64e","board_id":"0x00","kc_type":"vma2"}},"mem_class":"0x03","sdk":"iphoneos"},"iPod1,1":{"name":"iPod touch","boards":{"N45AP":{"platform":"s5l8900x","cpuid":"0x8900","board_id":"0x02"}}},"iPod2,1":{"name":"iPod touch","desc":"iPod touch (2nd generation)","boards":{"N72AP":{"platform":"s5l8720x","cpuid":"0x8720","board_id":"0x00","kc_type":"n72"}}},"iPod3,1":{"name":"iPod touch","desc":"iPod touch (3rd generation)","boards":{"N18AP":{"platform":"s5l8922x","cpuid":"0x8922","board_id":"0x02","kc_type":"n18"}}},"iPod4,1":{"name":"iPod touch","desc":"iPod touch (4th generation)","boards":{"N81AP":{"platform":"s5l8930x","cpuid":"0x8930","board_id":"0x08","kc_type":"n81"}}},"iPod5,1":{"name":"iPod touch","desc":"iPod touch (5th generation)","boards":{"N78AP":{"cpu":"A5","platform":"s5l8942x","cpuid":"0x8942","arch":"armv7","cpuisa":"ARMv7","board_id":"0x00","kc_type":"n78"}},"mem_class":"0"},"iPod7,1":{"name":"iPod touch","desc":"iPod touch (6th generation)","boards":{"N102AP":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x10","kc_type":"n102"},"N102DEV":{"cpu":"A8","platform":"t7000","platform_name":"H7P","cpuid":"0x7000","arch":"arm64","cpuisa":"ARMv8.0-A","board_id":"0x11","kc_type":"n102"}},"mem_class":"0x01","sdk":"deprecated"},"iPod9,1":{"name":"iPod touch","desc":"iPod touch (7th generation)","boards":{"N112AP":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x16","kc_type":"n112"},"N112DEV":{"cpu":"A10 Fusion","platform":"t8010","platform_name":"H9P","cpuid":"0x8010","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x17","kc_type":"n112"}},"mem_class":"0x02","sdk":"iphoneos"},"iProd13,3":{"name":"iProd","boards":{"Sicilyt2020fpgaAP":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x02","kc_type":"sicilyt2020fpga"},"Sicilyt2020fpgaDEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x03","kc_type":"sicilyt2020fpga"}},"sdk":"iphoneos"},"iProd13,4":{"name":"t6000ref","boards":{"T6000refDEV":{"cpu":"M1 Pro","platform":"t6000","platform_name":"H13S","cpuid":"0x6000","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iProd13,5":{"name":"t6001ref","boards":{"T6001refDEV":{"cpu":"M1 Max","platform":"t6001","platform_name":"H13C","cpuid":"0x6001","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iProd13,6":{"name":"t6002ref","boards":{"T6002refDEV":{"cpu":"M2?","platform":"t6002","platform_name":"H13D","cpuid":"0x6002","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iProd13,7":{"name":"iPhone 6","desc":"iPhone xx","boards":{"T883AP":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x12","bbid":"0x001440E1","kc_type":"t883"},"T883DEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x13","bbid":"0x001440E1","kc_type":"t883"}},"mem_class":"0x03","sdk":"iphoneos"},"iProd13,9":{"name":"E126T","boards":{"E126tAP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x2C","kc_type":"e126t"},"E126tDEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x2D","kc_type":"e126t"}},"mem_class":"0x10","sdk":"macosx"},"iProd14,2":{"name":"iProd","boards":{"Ellisc4000fpgaAP":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x14","kc_type":"ellisc4000fpga"},"Ellisc4000fpgaDEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x15","kc_type":"ellisc4000fpga"}},"mem_class":"0x06","sdk":"iphoneos"},"iProd2,1":{"name":"A144b","boards":{"A144bAP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x1C","kc_type":"a144b"}},"mem_class":"0x00","sdk":"iphoneos"},"iProd2,2":{"name":"A144c","boards":{"A144cAP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x1D","kc_type":"a144b"}},"mem_class":"0x00","sdk":"iphoneos"},"iProd2,3":{"name":"A244","boards":{"A244AP":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x02","kc_type":"a244"},"A244DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x03","kc_type":"a244"}},"mem_class":"0x08","sdk":"iphoneos"},"iProd3,1":{"desc":"iProd","boards":{"T2016RAW":{"platform":"t2016","platform_name":"W3","cpuid":"0x2016"}},"sdk":"rtkit"},"iProd7,1":{"name":"iProd","boards":{"E89AP":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0A","kc_type":"e89"},"E89DEV":{"cpu":"A10X Fusion","platform":"t8011","platform_name":"H9G","cpuid":"0x8011","arch":"arm64","cpuisa":"ARMv8.1-A","board_id":"0x0B","kc_type":"e89"}},"sdk":"iphoneos"},"iProd8,0":{"desc":"iProd","boards":{"T2002RAW":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x00"}},"sdk":"rtkit"},"iProd8,16":{"name":"Sidereal","boards":{"E125AP":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x28","kc_type":"e125"},"E125DEV":{"cpu":"A12X/A12Z Bionic","platform":"t8027","platform_name":"H11G","cpuid":"0x8027","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x29","kc_type":"e125"}},"mem_class":"0x10","sdk":"macosx"},"iProd8,3":{"desc":"iProd","boards":{"B372AP":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x0A"},"B372DEV":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x0B"}},"sdk":"rtkit"},"iProd8,6":{"desc":"iProd","boards":{"B515AP":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x10"},"B515DEV":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x11"}},"sdk":"rtkit"},"iProd9,1":{"name":"iProd9","boards":{"T295AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x12","kc_type":"t295"},"T295DEV":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x13","kc_type":"t295"}},"mem_class":"0x00","sdk":"deprecated"},"iProd9,3":{"name":"A144","boards":{"A144AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x1C","kc_type":"a144"}},"mem_class":"0x00","sdk":"iphoneos"},"iProd9,4":{"name":"Meerkat","boards":{"Z41aAP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x04","kc_type":"z41"},"Z41aDEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x05","kc_type":"z41"}},"mem_class":"0x01","sdk":"iphoneos"},"iProd9,5":{"name":"iPod Nano","boards":{"Z43AP":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x06","kc_type":"z43"},"Z43DEV":{"cpu":"S4 Non-LTE and LTE","platform":"t8006","platform_name":"M9","cpuid":"0x8006","arch":"arm64e","cpuisa":"ARMv8-A ILP32","board_id":"0x07","kc_type":"z43"}},"mem_class":"0x01","sdk":"iphoneos"},"iProd9,6":{"name":"E130","boards":{"E130AP":{"cpu":"T2","platform":"t8012","platform_name":"H9M","cpuid":"0x8012","arch":"arm64","cpuisa":"ARMv8-A","board_id":"0x1B","kc_type":"e130"}},"mem_class":"0x00","sdk":"iphoneos"},"iRef11,0":{"name":"CyprusRef","boards":{"CyprusrefDEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x00","kc_type":"t8020consolidated"}},"sdk":"iphoneos"},"iRef11,1":{"name":"CyprusUIRef","boards":{"CyprusuirefDEV":{"cpu":"A12 Bionic","platform":"t8020","platform_name":"H11P","cpuid":"0x8020","arch":"arm64e","cpuisa":"ARMv8.3-A","board_id":"0x01","kc_type":"t8020consolidated"}},"mem_class":"0x04","sdk":"iphoneos"},"iRef12,0":{"name":"t8030uidm","boards":{"Ceburefg1DEV":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x20"},"T8030uidmDEV":{"cpu":"A13 Bionic","platform":"t8030","platform_name":"H12P","cpuid":"0x8030","arch":"arm64e","cpuisa":"ARMv8.4-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef12,1":{"desc":"iRef","boards":{"T2002REFAP":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x07"},"T2002REFDEV":{"cpu":"H1","platform":"t2002","platform_name":"W2","cpuid":"0x2002","cpuisa":"unknown","board_id":"0x06"}},"sdk":"rtkit"},"iRef12,2":{"desc":"iRef","boards":{"T2006REFAP":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown","board_id":"0x04"},"T2006REFDEV":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown","board_id":"0x05"}},"sdk":"iphoneos"},"iRef12,3":{"desc":"iRef","boards":{"T2006RAW":{"cpu":"R1","platform":"t2006","platform_name":"R1","cpuid":"0x2006","cpuisa":"unknown","board_id":"0x00"}},"sdk":"rtkit"},"iRef13,10":{"name":"t8101uidm","boards":{"T8101uidmDEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef13,11":{"name":"t6000uidm","boards":{"T6000uidmDEV":{"cpu":"M1 Pro","platform":"t6000","platform_name":"H13S","cpuid":"0x6000","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef13,12":{"name":"t6001uidm","boards":{"T6001uidmDEV":{"cpu":"M1 Max","platform":"t6001","platform_name":"H13C","cpuid":"0x6001","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef13,13":{"name":"t6002uidm","boards":{"T6002uidmDEV":{"cpu":"M2?","platform":"t6002","platform_name":"H13D","cpuid":"0x6002","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef13,14":{"name":"t6000refs1g1","boards":{"T6000refs1g1DEV":{"cpu":"M1 Pro","platform":"t6000","platform_name":"H13S","cpuid":"0x6000","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x40"}},"sdk":"iphoneos"},"iRef13,15":{"name":"t6000refs2g0","boards":{"T6000refs2g0DEV":{"cpu":"M1 Pro","platform":"t6000","platform_name":"H13S","cpuid":"0x6000","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef13,16":{"name":"t6001refs1g1","boards":{"T6001refs1g1DEV":{"cpu":"M1 Max","platform":"t6001","platform_name":"H13C","cpuid":"0x6001","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x40"}},"sdk":"iphoneos"},"iRef13,17":{"name":"t6001refs2g0","boards":{"T6001refs2g0DEV":{"cpu":"M1 Max","platform":"t6001","platform_name":"H13C","cpuid":"0x6001","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef13,18":{"name":"t6002refs1g1","boards":{"T6002refs1g1DEV":{"cpu":"M2?","platform":"t6002","platform_name":"H13D","cpuid":"0x6002","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x40"}},"sdk":"iphoneos"},"iRef13,19":{"name":"t6002refs2g0","boards":{"T6002refs2g0DEV":{"cpu":"M2?","platform":"t6002","platform_name":"H13D","cpuid":"0x6002","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef13,5":{"name":"t8103refs1g1","boards":{"T8103refs1g1DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x20"}},"sdk":"iphoneos"},"iRef13,6":{"name":"t8103refs2g0","boards":{"T8103refs2g0DEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef13,7":{"name":"t8103uidm","boards":{"T8103uidmDEV":{"cpu":"M1","platform":"t8103","platform_name":"H13G","cpuid":"0x8103","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef13,8":{"name":"t8101Refs1g1","boards":{"T8101refs1g1DEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x20"}},"sdk":"iphoneos"},"iRef13,9":{"name":"t8101Refs2g0","boards":{"T8101refs2g0DEV":{"cpu":"A14 Bionic","platform":"t8101","platform_name":"H13P","cpuid":"0x8101","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef14,1":{"name":"t8110refs1g1","boards":{"T8110refs1g1DEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x20"}},"sdk":"iphoneos"},"iRef14,2":{"name":"t8110refs2g0","boards":{"T8110refs2g0DEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef14,3":{"name":"t8110refs1g2","boards":{"T8110refs1g2DEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x40"}},"sdk":"iphoneos"},"iRef14,4":{"name":"t8110uidm","boards":{"T8110uidmDEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x00"}},"sdk":"iphoneos"},"iRef14,6":{"name":"t8110refs1g3","boards":{"T8110refs1g3DEV":{"cpu":"A15 Bionic","platform":"t8110","platform_name":"H14P","cpuid":"0x8110","arch":"arm64e","cpuisa":"ARMv8.5-A","board_id":"0x60"}},"sdk":"iphoneos"},"iRef6,2":{"name":"t8301uidm","boards":{"T8301uidmDEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x00"}},"sdk":"watchos"},"iRef6,3":{"name":"t8301refs1g1","boards":{"T8301refs1g1DEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x20"}},"sdk":"watchos"},"iRef6,4":{"name":"t8301refs2g0","boards":{"T8301refs2g0DEV":{"cpu":"S6 Non-LTE and LTE","platform":"t8301","platform_name":"M10","cpuid":"0x8301","arch":"arm64e","board_id":"0x00"}},"sdk":"watchos"}} diff --git a/pkg/info/data/procs.json b/pkg/info/data/procs.json index 0cdeb5dfc..cf44c503f 100644 --- a/pkg/info/data/procs.json +++ b/pkg/info/data/procs.json @@ -1 +1 @@ -[{"Name":"","Model":"APL0098","Semiconductor":"90 nm","DieSize":"72 mm2","Transistors":"","CPUISA":"ARMv6","CPU":"412 MHz single-core ARM11","CPUID":"S5L8900","CPUCache":["L1i: 16 KB","L1d: 16 KB"],"GPU":"PowerVR MBX Lite","AIAccelerator":"","Memory":"16-bit Single-channel 133 MHz LPDDR (533 MB/s)","Introduced":"June 2007","Devices":["iPhone (1st gen.)","iPod Touch (1st gen.)","iPhone 3G"]},{"Name":"","Model":"APL0278","Semiconductor":"65 nm","DieSize":"36 mm","Transistors":"","CPUISA":"ARMv6","CPU":"412–533 MHz single-core ARM11","CPUID":"S5L8720","CPUCache":["L1i: 16 KB","L1d: 16 KB"],"GPU":"PowerVR MBX Lite","AIAccelerator":"","Memory":"32-bit Single-channel 133 MHz LPDDR (1066 MB/s)","Introduced":"September 2008","Devices":["iPod Touch (2nd gen.)","iPod Nano (4th gen.)"]},{"Name":"","Model":"APL0298","Semiconductor":"65 nm","DieSize":"71.8 mm2","Transistors":"","CPUISA":"ARMv7","CPU":"600 MHz single-core Cortex-A8","CPUID":"S5L8920","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 256 KB"],"GPU":"PowerVR SGX535","AIAccelerator":"","Memory":"32-bit Single-channel 200 MHz LPDDR (1.6 GB/s)","Introduced":"June 2009","Devices":["iPhone 3GS"]},{"Name":"","Model":"APL2298","Semiconductor":"45 nm","DieSize":"41.6 mm2","Transistors":"","CPUISA":"ARMv7","CPU":"600–800 MHz single-core Cortex-A8","CPUID":"S5L8922","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 256 KB"],"GPU":"PowerVR SGX535","AIAccelerator":"","Memory":"32-bit Single-channel 200 MHz LPDDR (1.6 GB/s)","Introduced":"September 2009","Devices":["iPod Touch (3rd gen.)"]},{"Name":"A4","Model":"APL0398","Semiconductor":"45 nm","DieSize":"53.3 mm","Transistors":"","CPUISA":"ARMv7","CPU":"0.8–1.0 GHz single-core Cortex-A8","CPUID":"S5L8930","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 512 KB"],"GPU":"PowerVR SGX535","AIAccelerator":"","Memory":"32-bit Dual-channel 200 MHz LPDDR (3.2 GB/s)","Introduced":"March 2010","Devices":["iPad (1st gen.)","iPhone 4","iPod Touch (4th gen.)","Apple TV (2nd gen.)"]},{"Name":"A5","Model":"APL0498","Semiconductor":"45 nm","DieSize":"122.2 mm","Transistors":"","CPUISA":"ARMv7","CPU":"0.8–1.0 GHz dual-core Cortex-A9","CPUID":"s5l8940x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX543MP2 (dual-core) @ 200 MHz (12.8 GFLOPS)","AIAccelerator":"","Memory":"32-bit Dual-channel 400 MHz LPDDR2-800 (6.4 GB/s)","Introduced":"March 2011","Devices":["iPad 2 (iPad2,1; iPad2,2; iPad2,3)","iPhone 4S"]},{"Name":"A5","Model":"APL2498","Semiconductor":"32 nm HKMG","DieSize":"69.6 mm2","Transistors":"","CPUISA":"ARMv7","CPU":"0.8–1.0 GHz dual-core Cortex-A9 (one core locked in Apple TV)","CPUID":"s5l8942x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX543MP2 (dual-core) @ 200 MHz (12.8 GFLOPS)","AIAccelerator":"","Memory":"32-bit Dual-channel 400 MHz LPDDR2-800 (6.4 GB/s)","Introduced":"March 2012","Devices":["Apple TV (3rd gen.)","iPad 2 (iPad2,4)","iPod Touch (5th gen.)","iPad Mini (1st gen.)"]},{"Name":"A5","Model":"APL7498","Semiconductor":"32 nm HKMG","DieSize":"37.8 mm2","Transistors":"","CPUISA":"ARMv7","CPU":"Single-core Cortex-A9","CPUID":"s5l8947x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX543MP2 (dual-core) @ 200 MHz (12.8 GFLOPS)","AIAccelerator":"","Memory":"32-bit Dual-channel 400 MHz LPDDR2-800 (6.4 GB/s)","Introduced":"March 2013","Devices":["Apple TV (3rd gen.) (AppleTV3,2)"]},{"Name":"A5X","Model":"APL5498","Semiconductor":"45 nm","DieSize":"165 mm2","Transistors":"","CPUISA":"ARMv7","CPU":"1.0 GHz dual-core Cortex-A9","CPUID":"s5l8945x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX543MP4 (quad-core) @ 200 MHz (25 GFLOPS)","AIAccelerator":"","Memory":"32-bit Quad-channel 400 MHz LPDDR2-800 (12.8 GB/s)","Introduced":"March 2012","Devices":["iPad (3rd gen.)"]},{"Name":"A6","Model":"APL0598","Semiconductor":"32 nm HKMG","DieSize":"96.71 mm2","Transistors":"","CPUISA":"ARMv7s","CPU":"1.3 GHz dual-core Swift","CPUID":"s5l8950x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX543MP3 (triple-core) @ 266 MHz (25.5 GFLOPS)","AIAccelerator":"","Memory":"32-bit Dual-channel 533 MHz LPDDR2-1066 (8.528 GB/s)","Introduced":"September 2012","Devices":["iPhone 5","iPhone 5C"]},{"Name":"A6X","Model":"APL5598","Semiconductor":"32 nm HKMG","DieSize":"123 mm2","Transistors":"","CPUISA":"ARMv7s","CPU":"1.4 GHz dual-core Swift","CPUID":"s5l8955x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX554MP4 (quad-core) @ 266 MHz (68.1 GFLOPS)","AIAccelerator":"","Memory":"32-bit Quad-channel 533 MHz LPDDR2-1066 (17.1 GB/s)","Introduced":"October 2012","Devices":["iPad (4th gen.)"]},{"Name":"A7","Model":"APL0698","Semiconductor":"28 nm HKMG","DieSize":"102 mm2","Transistors":"≈1 billion","CPUISA":"ARMv8.0-A","CPU":"1.3 GHz dual-core Cyclone","CPUID":"s5l8960x","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 1 MB","L3: 4 MB (Inclusive)"],"GPU":"PowerVR G6430 (quad-core) @ 450 MHz (115.2 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 800 MHz LPDDR3-1600 (12.8 GB/s)","Introduced":"September 2013","Devices":["iPhone 5S","iPad Mini 2","iPad Mini 3"]},{"Name":"A7","Model":"APL5698","Semiconductor":"28 nm HKMG","DieSize":"102 mm2","Transistors":"≈1 billion","CPUISA":"S5L8965x","CPU":"1.4 GHz dual-core Cyclone","CPUID":"","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 1 MB","L3: 4 MB (Inclusive)"],"GPU":"PowerVR G6430 (quad-core) @ 450 MHz (115.2 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 800 MHz LPDDR3-1600 (12.8 GB/s)","Introduced":"October 2013","Devices":["iPad Air (1st gen.)"]},{"Name":"A8","Model":"APL1011","Semiconductor":"20 nm (TSMC)","DieSize":"89 mm2","Transistors":"~2 billion","CPUISA":"ARMv8.0-A","CPU":"1.1–1.5 GHz dual-core Typhoon","CPUID":"T7000","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 1 MB","L3: 4 MB (Inclusive)"],"GPU":"Custom PowerVR GXA6450 (quad-core) @ ~533 MHz (136.5 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 800 MHz LPDDR3-1600 (12.8 GB/s)","Introduced":"September 2014","Devices":["iPhone 6","iPhone 6 Plus","iPod Touch (6th gen.)","iPad Mini 4","Apple TV (4th gen.)","HomePod"]},{"Name":"A8X","Model":"APL1012","Semiconductor":"20 nm (TSMC)","DieSize":"128 mm2","Transistors":"~3 billion","CPUISA":"ARMv8.0-A","CPU":"1.5 GHz triple-core Typhoon","CPUID":"T7001","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 2 MB","L3: 4 MB (Inclusive)"],"GPU":"Custom PowerVR GXA6850 (octa-core) @ ~450 MHz (230.4 GFLOPS)","AIAccelerator":"","Memory":"64-bit Dual-channel 800 MHz LPDDR3-1600 (25.6 GB/s)","Introduced":"October 2014","Devices":["iPad Air 2"]},{"Name":"A9","Model":"APL0898","Manufacturer":"Samsung","Semiconductor":"14 nm FinFET","DieSize":"96 mm2","Transistors":">2 billion","CPUISA":"ARMv8.0-A","CPU":"1.85 GHz dual-core Twister","CPUID":"S8000","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 3 MB","L3: 4 MB (Victim)"],"GPU":"Custom PowerVR GT7600 (hexa-core) @ 650 MHz (249.6 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 1600 MHz LPDDR4-3200 (25.6 GB/s)","Introduced":"September 2015","Devices":["iPhone 6S","iPhone 6S Plus","iPhone SE","iPad (2017)"]},{"Name":"A9","Model":"APL1022","Manufacturer":"TSMC","Semiconductor":"16 nm FinFET","DieSize":"104.5 mm2","Transistors":">2 billion","CPUISA":"ARMv8.0-A","CPU":"1.85 GHz dual-core Twister","CPUID":"S8003","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 3 MB","L3: 4 MB (Victim)"],"GPU":"Custom PowerVR GT7600 (hexa-core) @ 650 MHz (249.6 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 1600 MHz LPDDR4-3200 (25.6 GB/s)","Introduced":"September 2015","Devices":["iPhone 6S","iPhone 6S Plus","iPhone SE","iPad (2017)"]},{"Name":"A9X","Model":"APL1021","Semiconductor":"16 nm FinFET (TSMC)","DieSize":"143.9 mm2","Transistors":">3 billion","CPUISA":"ARMv8.0-A","CPU":"2.16–2.26 GHz dual-core Twister","CPUID":"S8001","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 3 MB","L3: none"],"GPU":"Custom PowerVR GTA7850 (12-core) @ 650 MHz (499.2 GFLOPS)","AIAccelerator":"","Memory":"64-bit Dual-channel 1600 MHz LPDDR4-3200 (51.2 GB/s)","Introduced":"November 2015","Devices":["iPad Pro (12.9-inch) (1st gen.)","iPad Pro (9.7-inch)"]},{"Name":"A10 Fusion","Model":"APL1W24","Semiconductor":"16 nm FinFET (TSMC)","DieSize":"125 mm2","Transistors":"3.3 billion","CPUISA":"ARMv8.1-A","CPU":"2.34 GHz quad-core (2× Hurricane + 2× Zephyr)","CPUID":"T8010","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 3 MB","L3: 4 MB"],"GPU":"Custom PowerVR GT7600 Plus (hexa-core) @ 900 MHz (364.8 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 1600 MHz LPDDR4 (25.6 GB/s)","Introduced":"September 2016","Devices":["iPhone 7","iPhone 7 Plus","iPad (2018)","iPod Touch (7th gen.)","iPad (2019)"]},{"Name":"A10X Fusion","Model":"APL1071","Semiconductor":"10 nm FinFET (TSMC)","DieSize":"96.4 mm2","Transistors":">4 billion","CPUISA":"ARMv8.1-A","CPU":"2.36 GHz hexa-core (3× Hurricane + 3× Zephyr)","CPUID":"T8011","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 8 MB","L3: none"],"GPU":"Custom PowerVR GT7600 Plus (12-core)","AIAccelerator":"","Memory":"64-bit Dual-channel 1600 MHz LPDDR4 (51.2 GB/s)","Introduced":"June 2017","Devices":["iPad Pro (10.5-inch)","iPad Pro (12.9-inch) (2nd gen.)","Apple TV 4K"]},{"Name":"A11 Bionic","Model":"APL1W72","Semiconductor":"10 nm FinFET (TSMC)","DieSize":"87.66 mm2","Transistors":"4.3 billion","CPUISA":"ARMv8.2-A","CPU":"2.39 GHz hexa-core (2× Monsoon + 4× Mistral)","CPUID":"T8015","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (triple-core)","AIAccelerator":"Neural Engine (dual-core)","Memory":"64-bit Single-channel 2133 MHz LPDDR4X (34.1 GB/s)","Introduced":"September 2017","Devices":["iPhone 8","iPhone 8 Plus","iPhone X"]},{"Name":"A12 Bionic","Model":"APL1W81","Semiconductor":"7 nm FinFET (TSMC N7)","DieSize":"83.27 mm2","Transistors":"6.9 billion","CPUISA":"ARMv8.3-A","CPU":"2.49 GHz hexa-core (2× Vortex + 4× Tempest)","CPUID":"T8020","CPUCache":["L1i: 128 KB","L1d: 128 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (quad-core)","AIAccelerator":"Neural Engine (octa-core)","Memory":"64-bit Single-channel 2133 MHz LPDDR4X (34.1 GB/s)","Introduced":"September 2018","Devices":["iPhone XS","iPhone XS Max","iPhone XR","iPad Air (2019)","iPad Mini (5th gen.)"]},{"Name":"A12X/A12Z Bionic","Model":"APL1083","Semiconductor":"7 nm FinFET (TSMC N7)","DieSize":"≈135 mm2","Transistors":"10 billion","CPUISA":"ARMv8.3-A","CPU":"2.49 GHz octa-core (4× Vortex + 4× Tempest)","CPUID":"T8027","CPUCache":["L1i: 128 KB","L1d: 128 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (hepta-core)/Custom design (octa-core)","AIAccelerator":"Neural Engine (octa-core)","Memory":"64-bit Dual-channel 2133 MHz LPDDR4X (68.2 GB/s)","Introduced":"October 2018/March 2020","Devices":["iPad Pro (11.0-inch)","iPad Pro (12.9-inch) (3rd gen.)","iPad Pro (11.0-inch) (2020 2nd gen.)","iPad Pro (12.9-inch) (2020 4th gen.)"]},{"Name":"A13 Bionic","Model":"APL1W85","Semiconductor":"7 nm FinFET (TSMC N7P)","DieSize":"98.48 mm2","Transistors":"8.5 billion","CPUISA":"ARMv8.4-A","CPU":"2.65 GHz hexa-core (2× Lightning + 4× Thunder)","CPUID":"T8030","CPUCache":["L1i: 128 KB","L1d: 128 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (quad-core)","AIAccelerator":"Neural Engine (octa-core) + AMX blocks (dual-core)","Memory":"","Introduced":"September 2019","Devices":["iPhone 11","iPhone 11 Pro","iPhone 11 Pro Max"]},{"Name":"A14 Bionic","Model":"APL1W01","Semiconductor":"5 nm FinFET (TSMC N5)","DieSize":"88 mm2","Transistors":"11.8 billion","CPUISA":"ARMv8.5-A","CPU":"hexa-core (2× Firestorm + 4× Icestorm)","CPUID":"T8101","CPUCache":["L1i: 192 KB","L1d: 128 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (quad-core)","AIAccelerator":"Neural Engine (16-core) 11 TOPS","Memory":"LPDDR4X (Samsung)","Introduced":"October 2020","Devices":["iPad Air (Fall 2020)","iPhone 12 Mini","iPhone 12","iPhone 12 Pro","iPhone 12 Pro Max"]},{"Name":"A15 Bionic","Model":"","Semiconductor":"5 nm FinFET (TSMC N5)","DieSize":"88 mm2","Transistors":"11.8 billion","CPUISA":"ARMv8.5-A","CPU":"hexa-core (2× Firestorm + 4× Icestorm)","CPUID":"T8110","CPUCache":["L1i: 192 KB","L1d: 128 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (5-core)","AIAccelerator":"Neural Engine (16-core) 11 TOPS","Memory":"","Introduced":"September 2021","Devices":["iPad Air (Fall 2020)","iPhone 13 Mini","iPhone 13","iPhone 13 Pro","iPhone 13 Pro Max"]},{"Name":"S1","Model":"APL0778","Semiconductor":"28 nm HKMG","DieSize":"32 mm2","Transistors":"","CPUISA":"ARMv7k","CPU":"520 MHz single-core Cortex-A7","CPUID":"S7002","CPUCache":["L1d: 32 KB","L2: 256 KB"],"GPU":"PowerVR Series 5","AIAccelerator":"","Memory":"LPDDR3","Introduced":"April 2015","Devices":["Apple Watch (1st gen.)"]},{"Name":"S1P","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv7k","CPU":"520 MHz dual-core Cortex-A7 without GPS","CPUID":"T8002","CPUCache":["L1d: 64 KB","L2: 1 MB"],"GPU":"PowerVR Series 6 'Rouge'","AIAccelerator":"","Memory":"LPDDR3","Introduced":"September 2016","Devices":["Apple Watch Series 1"]},{"Name":"S2","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv7k","CPU":"520 MHz dual-core Cortex-A7 with GPS","CPUID":"T8002","CPUCache":["L1d: 64 KB","L2: 1 MB"],"GPU":"PowerVR Series 6 'Rouge'","AIAccelerator":"","Memory":"LPDDR3","Introduced":"September 2016","Devices":["Apple Watch Series 2"]},{"Name":"S3 Non-LTE and LTE","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv7k","CPU":"Dual-core","CPUID":"T8004","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"LPDDR4","Introduced":"September 2017","Devices":["Apple Watch Series 3"]},{"Name":"S4 Non-LTE and LTE","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv8-A ILP32","CPU":"Dual-core","CPUID":"T8006","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"September 2018","Devices":["Apple Watch Series 4"]},{"Name":"S5 Non-LTE and LTE","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"","CPU":"Dual-core","CPUID":"T8006","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"September 2019","Devices":["Apple Watch Series 5"]},{"Name":"T1","Model":"APL1023","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv7","CPU":"","CPUID":"","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"October 2016","Devices":["MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)","MacBook Pro (15-inch, 2016)","MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)","MacBook Pro (15-inch, 2017)"]},{"Name":"T2","Model":"APL1027","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv8-A","CPU":"","CPUID":"T8012","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"LPDDR4","Introduced":"December 2017","Devices":["iMac Pro 2017","MacBook Pro (13-inch, 2018, Four Thunderbolt 3 Ports)","MacBook Pro (15-inch, 2018)","Mac mini (2018)","MacBook Air (2018)","MacBook Pro (15-inch, 2019)","MacBook Pro (13-inch, 2019)","MacBook Air (2019)","MacBook Pro (16-inch, 2019)","Mac Pro (2019)"]},{"Name":"M1","Model":"APL1102","Semiconductor":"5 nm (TSMC)","DieSize":"","Transistors":"16 billion","CPUISA":"ARMv8.5-A","CPU":"3.2 GHz 8-core (4× Firestorm + 4× Icestorm)","CPUID":"T8103","CPUCache":["L1i: 192 KB","L1d: 128 KB","L2: 8 MB","L2: 24 MB","SLC: 16 MB"],"GPU":"7- or 8-core (up to 2.6 TFLOPs)","AIAccelerator":"16-core","Memory":"LPDDR4X","Introduced":"November 17, 2020","Devices":["MacBook Pro (13-inch, M1, 2020)","MacBook Air (M1, 2020)","Mac mini (M1, 2020)"]},{"Name":"M1 Pro","Model":"J314cAP","Semiconductor":"5 nm (TSMC)","DieSize":"245 mm2","Transistors":"33.7 billion","CPUISA":"ARMv8.5-A","CPU":"3.2 GHz 8-core (4× Firestorm + 4× Icestorm)","CPUID":"T6000","CPUCache":["L1i: 192 KB","L1d: 128 KB","L2: 24 MB","SLC: 32 MB"],"GPU":"14- or 16-core (up to 5.22 TFLOPs)","AIAccelerator":"16-core","Memory":"LPDDR5","Introduced":"October 26, 2021","Devices":["MacBook Pro 14-inch (Late 2021)","MacBook Pro 16-inch (Late 2021)"]},{"Name":"M1 Max","Model":"","Semiconductor":"5 nm (TSMC)","DieSize":"432 mm2","Transistors":"57 billion","CPUISA":"ARMv8.5-A","CPU":"3.2 GHz 8-core (8× Firestorm + 2× Icestorm)","CPUID":"T6001","CPUCache":["L1i: 192 KB","L1d: 128 KB","L2: 24 MB","SLC: 64 MB"],"GPU":"24- or 32-core (up to 10.44 TFLOPs)","AIAccelerator":"16-core","Memory":"LPDDR5","Introduced":"October 26, 2021","Devices":["MacBook Pro 14-inch (Late 2021)","MacBook Pro 16-inch (Late 2021)"]},{"Name":"W1","Model":"343S00130343S00131","Semiconductor":"","DieSize":"14.3 mm2","Transistors":"","CPUISA":"","CPU":"","CPUID":"","CPUCache":[""],"GPU":"4.2","AIAccelerator":"","Memory":"","Bluetooth":"4.2","Introduced":"September 2016","Devices":["AirPods","Beats Solo3","Powerbeats3","BeatsX","Beats Studio3","HomePod"]},{"Name":"W2","Model":"338S00348","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"","CPU":"","CPUID":"","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Bluetooth":"4.2","Introduced":"September 2017","Devices":["Apple Watch Series 3"]},{"Name":"W3","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"","CPU":"","CPUID":"","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Bluetooth":"5.0","Introduced":"September 2018","Devices":["Apple Watch Series 4","Apple Watch Series 5"]},{"Name":"H1","Model":"343S00289","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"","CPU":"","CPUID":"T2002","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Bluetooth":"5.0","Introduced":"March 2019","Devices":["AirPods (2nd gen.)","Powerbeats Pro","Beats Solo Pro","AirPods Pro"]},{"Name":"U1","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"","CPU":"","CPUID":"","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"September 2019","Devices":["iPhone 11","iPhone 11 Pro"]}] +[{"Name":"","Model":"APL0098","Semiconductor":"90 nm","DieSize":"72 mm2","Transistors":"","CPUISA":"ARMv6","CPU":"412 MHz single-core ARM11","CPUID":"S5L8900","CPUCache":["L1i: 16 KB","L1d: 16 KB"],"GPU":"PowerVR MBX Lite","AIAccelerator":"","Memory":"16-bit Single-channel 133 MHz LPDDR (533 MB/s)","Introduced":"June 2007","Devices":["iPhone (1st gen.)","iPod Touch (1st gen.)","iPhone 3G"]},{"Name":"","Model":"APL0278","Semiconductor":"65 nm","DieSize":"36 mm","Transistors":"","CPUISA":"ARMv6","CPU":"412–533 MHz single-core ARM11","CPUID":"S5L8720","CPUCache":["L1i: 16 KB","L1d: 16 KB"],"GPU":"PowerVR MBX Lite","AIAccelerator":"","Memory":"32-bit Single-channel 133 MHz LPDDR (1066 MB/s)","Introduced":"September 2008","Devices":["iPod Touch (2nd gen.)","iPod Nano (4th gen.)"]},{"Name":"","Model":"APL0298","Semiconductor":"65 nm","DieSize":"71.8 mm2","Transistors":"","CPUISA":"ARMv7","CPU":"600 MHz single-core Cortex-A8","CPUID":"S5L8920","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 256 KB"],"GPU":"PowerVR SGX535","AIAccelerator":"","Memory":"32-bit Single-channel 200 MHz LPDDR (1.6 GB/s)","Introduced":"June 2009","Devices":["iPhone 3GS"]},{"Name":"","Model":"APL2298","Semiconductor":"45 nm","DieSize":"41.6 mm2","Transistors":"","CPUISA":"ARMv7","CPU":"600–800 MHz single-core Cortex-A8","CPUID":"S5L8922","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 256 KB"],"GPU":"PowerVR SGX535","AIAccelerator":"","Memory":"32-bit Single-channel 200 MHz LPDDR (1.6 GB/s)","Introduced":"September 2009","Devices":["iPod Touch (3rd gen.)"]},{"Name":"A4","Model":"APL0398","Semiconductor":"45 nm","DieSize":"53.3 mm","Transistors":"","CPUISA":"ARMv7","CPU":"0.8–1.0 GHz single-core Cortex-A8","CPUID":"S5L8930","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 512 KB"],"GPU":"PowerVR SGX535","AIAccelerator":"","Memory":"32-bit Dual-channel 200 MHz LPDDR (3.2 GB/s)","Introduced":"March 2010","Devices":["iPad (1st gen.)","iPhone 4","iPod Touch (4th gen.)","Apple TV (2nd gen.)"]},{"Name":"A5","Model":"APL0498","Semiconductor":"45 nm","DieSize":"122.2 mm","Transistors":"","CPUISA":"ARMv7","CPU":"0.8–1.0 GHz dual-core Cortex-A9","CPUID":"s5l8940x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX543MP2 (dual-core) @ 200 MHz (12.8 GFLOPS)","AIAccelerator":"","Memory":"32-bit Dual-channel 400 MHz LPDDR2-800 (6.4 GB/s)","Introduced":"March 2011","Devices":["iPad 2 (iPad2,1; iPad2,2; iPad2,3)","iPhone 4S"]},{"Name":"A5","Model":"APL2498","Semiconductor":"32 nm HKMG","DieSize":"69.6 mm2","Transistors":"","CPUISA":"ARMv7","CPU":"0.8–1.0 GHz dual-core Cortex-A9 (one core locked in Apple TV)","CPUID":"s5l8942x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX543MP2 (dual-core) @ 200 MHz (12.8 GFLOPS)","AIAccelerator":"","Memory":"32-bit Dual-channel 400 MHz LPDDR2-800 (6.4 GB/s)","Introduced":"March 2012","Devices":["Apple TV (3rd gen.)","iPad 2 (iPad2,4)","iPod Touch (5th gen.)","iPad Mini (1st gen.)"]},{"Name":"A5","Model":"APL7498","Semiconductor":"32 nm HKMG","DieSize":"37.8 mm2","Transistors":"","CPUISA":"ARMv7","CPU":"Single-core Cortex-A9","CPUID":"s5l8947x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX543MP2 (dual-core) @ 200 MHz (12.8 GFLOPS)","AIAccelerator":"","Memory":"32-bit Dual-channel 400 MHz LPDDR2-800 (6.4 GB/s)","Introduced":"March 2013","Devices":["Apple TV (3rd gen.) (AppleTV3,2)"]},{"Name":"A5X","Model":"APL5498","Semiconductor":"45 nm","DieSize":"165 mm2","Transistors":"","CPUISA":"ARMv7","CPU":"1.0 GHz dual-core Cortex-A9","CPUID":"s5l8945x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX543MP4 (quad-core) @ 200 MHz (25 GFLOPS)","AIAccelerator":"","Memory":"32-bit Quad-channel 400 MHz LPDDR2-800 (12.8 GB/s)","Introduced":"March 2012","Devices":["iPad (3rd gen.)"]},{"Name":"A6","Model":"APL0598","Semiconductor":"32 nm HKMG","DieSize":"96.71 mm2","Transistors":"","CPUISA":"ARMv7s","CPU":"1.3 GHz dual-core Swift","CPUID":"s5l8950x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX543MP3 (triple-core) @ 266 MHz (25.5 GFLOPS)","AIAccelerator":"","Memory":"32-bit Dual-channel 533 MHz LPDDR2-1066 (8.528 GB/s)","Introduced":"September 2012","Devices":["iPhone 5","iPhone 5C"]},{"Name":"A6X","Model":"APL5598","Semiconductor":"32 nm HKMG","DieSize":"123 mm2","Transistors":"","CPUISA":"ARMv7s","CPU":"1.4 GHz dual-core Swift","CPUID":"s5l8955x","CPUCache":["L1i: 32 KB","L1d: 32 KB","L2: 1 MB"],"GPU":"PowerVR SGX554MP4 (quad-core) @ 266 MHz (68.1 GFLOPS)","AIAccelerator":"","Memory":"32-bit Quad-channel 533 MHz LPDDR2-1066 (17.1 GB/s)","Introduced":"October 2012","Devices":["iPad (4th gen.)"]},{"Name":"A7","Model":"APL0698","Semiconductor":"28 nm HKMG","DieSize":"102 mm2","Transistors":"≈1 billion","CPUISA":"ARMv8.0-A","CPU":"1.3 GHz dual-core Cyclone","CPUID":"s5l8960x","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 1 MB","L3: 4 MB (Inclusive)"],"GPU":"PowerVR G6430 (quad-core) @ 450 MHz (115.2 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 800 MHz LPDDR3-1600 (12.8 GB/s)","Introduced":"September 2013","Devices":["iPhone 5S","iPad Mini 2","iPad Mini 3"]},{"Name":"A7","Model":"APL5698","Semiconductor":"28 nm HKMG","DieSize":"102 mm2","Transistors":"≈1 billion","CPUISA":"S5L8965x","CPU":"1.4 GHz dual-core Cyclone","CPUID":"","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 1 MB","L3: 4 MB (Inclusive)"],"GPU":"PowerVR G6430 (quad-core) @ 450 MHz (115.2 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 800 MHz LPDDR3-1600 (12.8 GB/s)","Introduced":"October 2013","Devices":["iPad Air (1st gen.)"]},{"Name":"A8","Model":"APL1011","Semiconductor":"20 nm (TSMC)","DieSize":"89 mm2","Transistors":"~2 billion","CPUISA":"ARMv8.0-A","CPU":"1.1–1.5 GHz dual-core Typhoon","CPUID":"T7000","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 1 MB","L3: 4 MB (Inclusive)"],"GPU":"Custom PowerVR GXA6450 (quad-core) @ ~533 MHz (136.5 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 800 MHz LPDDR3-1600 (12.8 GB/s)","Introduced":"September 2014","Devices":["iPhone 6","iPhone 6 Plus","iPod Touch (6th gen.)","iPad Mini 4","Apple TV (4th gen.)","HomePod"]},{"Name":"A8X","Model":"APL1012","Semiconductor":"20 nm (TSMC)","DieSize":"128 mm2","Transistors":"~3 billion","CPUISA":"ARMv8.0-A","CPU":"1.5 GHz triple-core Typhoon","CPUID":"T7001","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 2 MB","L3: 4 MB (Inclusive)"],"GPU":"Custom PowerVR GXA6850 (octa-core) @ ~450 MHz (230.4 GFLOPS)","AIAccelerator":"","Memory":"64-bit Dual-channel 800 MHz LPDDR3-1600 (25.6 GB/s)","Introduced":"October 2014","Devices":["iPad Air 2"]},{"Name":"A9","Model":"APL0898","Manufacturer":"Samsung","Semiconductor":"14 nm FinFET","DieSize":"96 mm2","Transistors":">2 billion","CPUISA":"ARMv8.0-A","CPU":"1.85 GHz dual-core Twister","CPUID":"S8000","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 3 MB","L3: 4 MB (Victim)"],"GPU":"Custom PowerVR GT7600 (hexa-core) @ 650 MHz (249.6 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 1600 MHz LPDDR4-3200 (25.6 GB/s)","Introduced":"September 2015","Devices":["iPhone 6S","iPhone 6S Plus","iPhone SE","iPad (2017)"]},{"Name":"A9","Model":"APL1022","Manufacturer":"TSMC","Semiconductor":"16 nm FinFET","DieSize":"104.5 mm2","Transistors":">2 billion","CPUISA":"ARMv8.0-A","CPU":"1.85 GHz dual-core Twister","CPUID":"S8003","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 3 MB","L3: 4 MB (Victim)"],"GPU":"Custom PowerVR GT7600 (hexa-core) @ 650 MHz (249.6 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 1600 MHz LPDDR4-3200 (25.6 GB/s)","Introduced":"September 2015","Devices":["iPhone 6S","iPhone 6S Plus","iPhone SE","iPad (2017)"]},{"Name":"A9X","Model":"APL1021","Semiconductor":"16 nm FinFET (TSMC)","DieSize":"143.9 mm2","Transistors":">3 billion","CPUISA":"ARMv8.0-A","CPU":"2.16–2.26 GHz dual-core Twister","CPUID":"S8001","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 3 MB","L3: none"],"GPU":"Custom PowerVR GTA7850 (12-core) @ 650 MHz (499.2 GFLOPS)","AIAccelerator":"","Memory":"64-bit Dual-channel 1600 MHz LPDDR4-3200 (51.2 GB/s)","Introduced":"November 2015","Devices":["iPad Pro (12.9-inch) (1st gen.)","iPad Pro (9.7-inch)"]},{"Name":"A10 Fusion","Model":"APL1W24","Semiconductor":"16 nm FinFET (TSMC)","DieSize":"125 mm2","Transistors":"3.3 billion","CPUISA":"ARMv8.1-A","CPU":"2.34 GHz quad-core (2× Hurricane + 2× Zephyr)","CPUID":"T8010","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 3 MB","L3: 4 MB"],"GPU":"Custom PowerVR GT7600 Plus (hexa-core) @ 900 MHz (364.8 GFLOPS)","AIAccelerator":"","Memory":"64-bit Single-channel 1600 MHz LPDDR4 (25.6 GB/s)","Introduced":"September 2016","Devices":["iPhone 7","iPhone 7 Plus","iPad (2018)","iPod Touch (7th gen.)","iPad (2019)"]},{"Name":"A10X Fusion","Model":"APL1071","Semiconductor":"10 nm FinFET (TSMC)","DieSize":"96.4 mm2","Transistors":">4 billion","CPUISA":"ARMv8.1-A","CPU":"2.36 GHz hexa-core (3× Hurricane + 3× Zephyr)","CPUID":"T8011","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 8 MB","L3: none"],"GPU":"Custom PowerVR GT7600 Plus (12-core)","AIAccelerator":"","Memory":"64-bit Dual-channel 1600 MHz LPDDR4 (51.2 GB/s)","Introduced":"June 2017","Devices":["iPad Pro (10.5-inch)","iPad Pro (12.9-inch) (2nd gen.)","Apple TV 4K"]},{"Name":"A11 Bionic","Model":"APL1W72","Semiconductor":"10 nm FinFET (TSMC)","DieSize":"87.66 mm2","Transistors":"4.3 billion","CPUISA":"ARMv8.2-A","CPU":"2.39 GHz hexa-core (2× Monsoon + 4× Mistral)","CPUID":"T8015","CPUCache":["L1i: 64 KB","L1d: 64 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (triple-core)","AIAccelerator":"Neural Engine (dual-core)","Memory":"64-bit Single-channel 2133 MHz LPDDR4X (34.1 GB/s)","Introduced":"September 2017","Devices":["iPhone 8","iPhone 8 Plus","iPhone X"]},{"Name":"A12 Bionic","Model":"APL1W81","Semiconductor":"7 nm FinFET (TSMC N7)","DieSize":"83.27 mm2","Transistors":"6.9 billion","CPUISA":"ARMv8.3-A","CPU":"2.49 GHz hexa-core (2× Vortex + 4× Tempest)","CPUID":"T8020","CPUCache":["L1i: 128 KB","L1d: 128 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (quad-core)","AIAccelerator":"Neural Engine (octa-core)","Memory":"64-bit Single-channel 2133 MHz LPDDR4X (34.1 GB/s)","Introduced":"September 2018","Devices":["iPhone XS","iPhone XS Max","iPhone XR","iPad Air (2019)","iPad Mini (5th gen.)"]},{"Name":"A12X/A12Z Bionic","Model":"APL1083","Semiconductor":"7 nm FinFET (TSMC N7)","DieSize":"≈135 mm2","Transistors":"10 billion","CPUISA":"ARMv8.3-A","CPU":"2.49 GHz octa-core (4× Vortex + 4× Tempest)","CPUID":"T8027","CPUCache":["L1i: 128 KB","L1d: 128 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (hepta-core)/Custom design (octa-core)","AIAccelerator":"Neural Engine (octa-core)","Memory":"64-bit Dual-channel 2133 MHz LPDDR4X (68.2 GB/s)","Introduced":"October 2018/March 2020","Devices":["iPad Pro (11.0-inch)","iPad Pro (12.9-inch) (3rd gen.)","iPad Pro (11.0-inch) (2020 2nd gen.)","iPad Pro (12.9-inch) (2020 4th gen.)"]},{"Name":"A13 Bionic","Model":"APL1W85","Semiconductor":"7 nm FinFET (TSMC N7P)","DieSize":"98.48 mm2","Transistors":"8.5 billion","CPUISA":"ARMv8.4-A","CPU":"2.65 GHz hexa-core (2× Lightning + 4× Thunder)","CPUID":"T8030","CPUCache":["L1i: 128 KB","L1d: 128 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (quad-core)","AIAccelerator":"Neural Engine (octa-core) + AMX blocks (dual-core)","Memory":"","Introduced":"September 2019","Devices":["iPhone 11","iPhone 11 Pro","iPhone 11 Pro Max"]},{"Name":"A14 Bionic","Model":"APL1W01","Semiconductor":"5 nm FinFET (TSMC N5)","DieSize":"88 mm2","Transistors":"11.8 billion","CPUISA":"ARMv8.5-A","CPU":"hexa-core (2× Firestorm + 4× Icestorm)","CPUID":"T8101","CPUCache":["L1i: 192 KB","L1d: 128 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (quad-core)","AIAccelerator":"Neural Engine (16-core) 11 TOPS","Memory":"LPDDR4X (Samsung)","Introduced":"October 2020","Devices":["iPad Air (Fall 2020)","iPhone 12 Mini","iPhone 12","iPhone 12 Pro","iPhone 12 Pro Max"]},{"Name":"A15 Bionic","Model":"","Semiconductor":"5 nm FinFET (TSMC N5)","DieSize":"88 mm2","Transistors":"11.8 billion","CPUISA":"ARMv8.5-A","CPU":"hexa-core (2× Firestorm + 4× Icestorm)","CPUID":"T8110","CPUCache":["L1i: 192 KB","L1d: 128 KB","L2: 8 MB","L3: none"],"GPU":"Custom design (5-core)","AIAccelerator":"Neural Engine (16-core) 11 TOPS","Memory":"","Introduced":"September 2021","Devices":["iPad Air (Fall 2020)","iPhone 13 Mini","iPhone 13","iPhone 13 Pro","iPhone 13 Pro Max"]},{"Name":"S1","Model":"APL0778","Semiconductor":"28 nm HKMG","DieSize":"32 mm2","Transistors":"","CPUISA":"ARMv7k","CPU":"520 MHz single-core Cortex-A7","CPUID":"S7002","CPUCache":["L1d: 32 KB","L2: 256 KB"],"GPU":"PowerVR Series 5","AIAccelerator":"","Memory":"LPDDR3","Introduced":"April 2015","Devices":["Apple Watch (1st gen.)"]},{"Name":"S1P","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv7k","CPU":"520 MHz dual-core Cortex-A7 without GPS","CPUID":"T8002","CPUCache":["L1d: 64 KB","L2: 1 MB"],"GPU":"PowerVR Series 6 'Rouge'","AIAccelerator":"","Memory":"LPDDR3","Introduced":"September 2016","Devices":["Apple Watch Series 1"]},{"Name":"S2","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv7k","CPU":"520 MHz dual-core Cortex-A7 with GPS","CPUID":"T8002","CPUCache":["L1d: 64 KB","L2: 1 MB"],"GPU":"PowerVR Series 6 'Rouge'","AIAccelerator":"","Memory":"LPDDR3","Introduced":"September 2016","Devices":["Apple Watch Series 2"]},{"Name":"S3 Non-LTE and LTE","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv7k","CPU":"Dual-core","CPUID":"T8004","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"LPDDR4","Introduced":"September 2017","Devices":["Apple Watch Series 3"]},{"Name":"S4 Non-LTE and LTE","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv8-A ILP32","CPU":"Dual-core","CPUID":"T8006","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"September 2018","Devices":["Apple Watch Series 4"]},{"Name":"S5 Non-LTE and LTE","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"","CPU":"Dual-core","CPUID":"T8006","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"September 2019","Devices":["Apple Watch Series 5"]},{"Name":"S6 Non-LTE and LTE","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"","CPU":"Dual-core","CPUID":"T8301","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"September 2019","Devices":["Apple Watch Series 6"]},{"Name":"T1","Model":"APL1023","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv7","CPU":"","CPUID":"","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"October 2016","Devices":["MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)","MacBook Pro (15-inch, 2016)","MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)","MacBook Pro (15-inch, 2017)"]},{"Name":"T2","Model":"APL1027","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv8-A","CPU":"","CPUID":"T8012","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"LPDDR4","Introduced":"December 2017","Devices":["iMac Pro 2017","MacBook Pro (13-inch, 2018, Four Thunderbolt 3 Ports)","MacBook Pro (15-inch, 2018)","Mac mini (2018)","MacBook Air (2018)","MacBook Pro (15-inch, 2019)","MacBook Pro (13-inch, 2019)","MacBook Air (2019)","MacBook Pro (16-inch, 2019)","Mac Pro (2019)"]},{"Name":"M1","Model":"APL1102","Semiconductor":"5 nm (TSMC)","DieSize":"","Transistors":"16 billion","CPUISA":"ARMv8.5-A","CPU":"3.2 GHz 8-core (4× Firestorm + 4× Icestorm)","CPUID":"T8103","CPUCache":["L1i: 192 KB","L1d: 128 KB","L2: 8 MB","L2: 24 MB","SLC: 16 MB"],"GPU":"7- or 8-core (up to 2.6 TFLOPs)","AIAccelerator":"16-core","Memory":"LPDDR4X","Introduced":"November 17, 2020","Devices":["MacBook Pro (13-inch, M1, 2020)","MacBook Air (M1, 2020)","Mac mini (M1, 2020)"]},{"Name":"M1 Pro","Model":"J314cAP","Semiconductor":"5 nm (TSMC)","DieSize":"245 mm2","Transistors":"33.7 billion","CPUISA":"ARMv8.5-A","CPU":"3.2 GHz 8-core (4× Firestorm + 4× Icestorm)","CPUID":"T6000","CPUCache":["L1i: 192 KB","L1d: 128 KB","L2: 24 MB","SLC: 32 MB"],"GPU":"14- or 16-core (up to 5.22 TFLOPs)","AIAccelerator":"16-core","Memory":"LPDDR5","Introduced":"October 26, 2021","Devices":["MacBook Pro 14-inch (Late 2021)","MacBook Pro 16-inch (Late 2021)"]},{"Name":"M1 Max","Model":"","Semiconductor":"5 nm (TSMC)","DieSize":"432 mm2","Transistors":"57 billion","CPUISA":"ARMv8.5-A","CPU":"3.2 GHz 8-core (8× Firestorm + 2× Icestorm)","CPUID":"T6001","CPUCache":["L1i: 192 KB","L1d: 128 KB","L2: 24 MB","SLC: 64 MB"],"GPU":"24- or 32-core (up to 10.44 TFLOPs)","AIAccelerator":"16-core","Memory":"LPDDR5","Introduced":"October 26, 2021","Devices":["MacBook Pro 14-inch (Late 2021)","MacBook Pro 16-inch (Late 2021)"]},{"Name":"M2?","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"ARMv8.5-A","CPU":"","CPUID":"T6002","CPUCache":[],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"","Devices":[]},{"Name":"W1","Model":"343S00130343S00131","Semiconductor":"","DieSize":"14.3 mm2","Transistors":"","CPUISA":"","CPU":"","CPUID":"","CPUCache":[""],"GPU":"4.2","AIAccelerator":"","Memory":"","Bluetooth":"4.2","Introduced":"September 2016","Devices":["AirPods","Beats Solo3","Powerbeats3","BeatsX","Beats Studio3","HomePod"]},{"Name":"W2","Model":"338S00348","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"","CPU":"","CPUID":"","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Bluetooth":"4.2","Introduced":"September 2017","Devices":["Apple Watch Series 3"]},{"Name":"W3","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"unknown","CPU":"","CPUID":"","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Bluetooth":"5.0","Introduced":"September 2018","Devices":["Apple Watch Series 4","Apple Watch Series 5"]},{"Name":"H1","Model":"343S00289","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"unknown","CPU":"","CPUID":"T2002","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Bluetooth":"5.0","Introduced":"March 2019","Devices":["AirPods (2nd gen.)","Powerbeats Pro","Beats Solo Pro","AirPods Pro"]},{"Name":"U1","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"unknown","CPU":"","CPUID":"","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"September 2019","Devices":["iPhone 11","iPhone 11 Pro"]},{"Name":"R1","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"unknown","CPU":"","CPUID":"T2006","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"","Devices":[]},{"Name":"Bat?","Model":"","Semiconductor":"","DieSize":"","Transistors":"","CPUISA":"unknown","CPU":"","CPUID":"T200","CPUCache":[""],"GPU":"","AIAccelerator":"","Memory":"","Introduced":"","Devices":[]}] diff --git a/pkg/info/db.go b/pkg/info/db.go index 39bd5a212..c6d32eda0 100644 --- a/pkg/info/db.go +++ b/pkg/info/db.go @@ -1,147 +1,199 @@ package info import ( + "fmt" + "strconv" "strings" - "github.com/blacktop/ipsw/internal/utils" + "github.com/apex/log" + "github.com/blacktop/ipsw/pkg/ota/types" "github.com/blacktop/ipsw/pkg/xcode" ) type Board struct { - CPU string `json:"cpu,omitempty"` - Platform string `json:"platform,omitempty"` - CpuID int `json:"cpu_id,omitempty"` - Arch string `json:"arch,omitempty"` - CpuISA string `json:"cpu_isa,omitempty"` - BoardConfig string `json:"board_config,omitempty"` - BoardID int `json:"board_id,omitempty"` + CPU string `json:"cpu,omitempty"` + Platform string `json:"platform,omitempty"` + PlatformName string `json:"platform_name,omitempty"` + ChipID string `json:"cpuid,omitempty"` + Arch string `json:"arch,omitempty"` + CpuISA string `json:"cpuisa,omitempty"` + BoardID string `json:"board_id,omitempty"` + BasebandChipID string `json:"bbid,omitempty"` + KernelCacheType string `json:"kc_type,omitempty"` + ResearchSupported bool `json:"research_support,omitempty"` } type Device struct { - Name string `json:"name,omitempty"` - Boards []Board `json:"boards,omitempty"` - MemClass int `json:"mem_class,omitempty"` + Name string `json:"name,omitempty"` + Description string `json:"desc,omitempty"` + Boards map[string]Board `json:"boards,omitempty"` + MemClass string `json:"mem_class,omitempty"` + SDKPlatform string `json:"sdk,omitempty"` } type Devices map[string]Device func (i *Info) GetDevices(devs *Devices) error { - var xdev xcode.Device if i.DeviceTrees != nil && len(i.DeviceTrees) > 0 { for _, dtree := range i.DeviceTrees { - dt, _ := dtree.Summary() - prodName := dt.ProductName + dt, err := dtree.Summary() + if err != nil { + return fmt.Errorf("error getting device tree summary: %v", err) + } - if devices, err := xcode.GetDevices(); err == nil { - for _, device := range devices { - if device.ProductType == dt.Model { - xdev = device - if len(prodName) == 0 { - prodName = xdev.ProductDescription + var kctype string + if kcs := i.Plists.BuildManifest.GetKernelForModel(strings.ToLower(dt.BoardConfig)); kcs != nil { + if len(kcs) == 1 { + kctype = kcs[0][strings.LastIndex(kcs[0], ".")+1:] + } else { + kctype = kcs[0][strings.LastIndex(kcs[0], ".")+1:] // FIXME: what? + } + } + + xdev, err := xcode.GetDeviceForProd(dt.ProductType) + if err != nil { + return fmt.Errorf("error getting device %s in xcode device list: %v", dt.ProductType, err) + } + + if len(dt.ProductType) > 0 { + if _, ok := (*devs)[dt.ProductType]; !ok { + if dt.ProductName != dt.ProductDescription { + (*devs)[dt.ProductType] = Device{ + Name: dt.ProductName, + Description: dt.ProductDescription, + Boards: make(map[string]Board), + MemClass: strconv.Itoa(xdev.DeviceTrait.DevicePerformanceMemoryClass), + } + } else { + (*devs)[dt.ProductType] = Device{ + Name: dt.ProductName, + Boards: make(map[string]Board), + MemClass: strconv.Itoa(xdev.DeviceTrait.DevicePerformanceMemoryClass), } - break } } } - if i.Plists.Restore != nil { // IPSW - var boards []Board - for _, board := range i.Plists.Restore.DeviceMap { - if board.BoardConfig == strings.ToLower(dt.BoardConfig) { - proc := getProcessor(board.Platform) - boards = append(boards, Board{ - CPU: proc.Name, - Platform: board.Platform, - CpuID: board.CPID, - CpuISA: proc.CPUISA, - Arch: xdev.DeviceTrait.PreferredArchitecture, - BoardConfig: dt.BoardConfig, - BoardID: board.BDID, - }) - } - } - if _, ok := (*devs)[dt.Model]; !ok { - (*devs)[dt.Model] = Device{ - Name: prodName, - Boards: boards, - MemClass: xdev.DeviceTrait.DevicePerformanceMemoryClass, - } - } - } else { // OTA - for _, board := range i.Plists.BuildIdentities { - if board.Info.DeviceClass == strings.ToLower(dt.BoardConfig) { - if _, ok := (*devs)[dt.Model]; !ok { - chipID, err := utils.ConvertStrToInt(board.ApChipID) - if err != nil { - chipID = 0 - } - boardID, err := utils.ConvertStrToInt(board.ApBoardID) - if err != nil { - boardID = 0 - } - proc := getProcessor(xdev.Platform) - (*devs)[dt.Model] = Device{ - Name: prodName, - Boards: []Board{ - { - CPU: proc.Name, - Platform: xdev.Platform, - CpuID: int(chipID), - CpuISA: proc.CPUISA, - Arch: xdev.DeviceTrait.PreferredArchitecture, - BoardConfig: dt.BoardConfig, - BoardID: int(boardID), - }, - }, - MemClass: xdev.DeviceTrait.DevicePerformanceMemoryClass, - } - } - } - } + proc := getProcessor(xdev.Platform) + if len(proc.Name) == 0 { + log.Errorf("no processor for %s for board %s: %s", dt.ProductType, dt.BoardConfig, dt.ProductName) + } + + (*devs)[dt.ProductType].Boards[dt.BoardConfig] = Board{ + CPU: proc.Name, + Platform: xdev.Platform, + // PlatformName: d.PlatformName, + ChipID: i.Plists.BuildManifest.BuildIdentities[0].ApChipID, + CpuISA: proc.CPUISA, + Arch: xdev.DeviceTrait.PreferredArchitecture, + BoardID: i.Plists.BuildManifest.BuildIdentities[0].ApBoardID, + BasebandChipID: i.Plists.BuildManifest.BuildIdentities[0].BbChipID, + KernelCacheType: kctype, + // ResearchSupported: d.ResearchSupported, } } } else { if i.Plists.Restore != nil { + var prodType string var prodName string - for idx, prod := range i.Plists.Restore.SupportedProductTypes { - if devices, err := xcode.GetDevices(); err == nil { - for _, device := range devices { - if device.ProductType == prod { - xdev = device - if len(prodName) == 0 { - prodName = xdev.ProductDescription - } - break - } - } - } else if len(prodName) == 0 { + var arch string + var memClass string + if len(i.Plists.Restore.SupportedProductTypes) == 1 { + prodType = i.Plists.Restore.SupportedProductTypes[0] + } else { + prodType = i.Plists.Restore.SupportedProductTypes[0] + log.Error("BAD ASSUMPTIONS: multiple product types in restore plist") + } + kcs := i.Plists.BuildManifest.GetKernelCaches() + for _, dev := range i.Plists.Restore.DeviceMap { + if xdev, err := xcode.GetDeviceForProd(prodType); err == nil { + prodName = xdev.ProductDescription + arch = xdev.DeviceTrait.PreferredArchitecture + memClass = strconv.Itoa(xdev.DeviceTrait.DevicePerformanceMemoryClass) + } + if len(prodName) == 0 { if i.Plists.OTAInfo != nil { prodName = "FIXME - " + i.Plists.OTAInfo.MobileAssetProperties.DeviceName } else { prodName = "FIXME" } } - if _, ok := (*devs)[prod]; !ok { - proc := getProcessor(i.Plists.Restore.DeviceMap[idx].Platform) - (*devs)[prod] = Device{ + if _, ok := (*devs)[prodType]; !ok { + proc := getProcessor(dev.Platform) + if len(proc.Name) == 0 { + log.Errorf("no processor for %s for board %s: %s", dev.Platform, dev.BoardConfig, prodName) + } + (*devs)[prodType] = Device{ Name: prodName, - Boards: []Board{ - { - CPU: proc.Name, - Platform: i.Plists.Restore.DeviceMap[idx].Platform, - CpuID: i.Plists.Restore.DeviceMap[idx].CPID, - CpuISA: proc.CPUISA, - Arch: xdev.DeviceTrait.PreferredArchitecture, - BoardConfig: strings.ToUpper(i.Plists.Restore.DeviceMap[idx].BoardConfig), - BoardID: i.Plists.Restore.DeviceMap[idx].BDID, + Boards: map[string]Board{ + strings.ToUpper(dev.BoardConfig): { + CPU: proc.Name, + Platform: dev.Platform, + // PlatformName: d.PlatformName, + ChipID: i.Plists.BuildManifest.BuildIdentities[0].ApChipID, + CpuISA: proc.CPUISA, + Arch: arch, + BoardID: i.Plists.BuildManifest.BuildIdentities[0].ApBoardID, + BasebandChipID: i.Plists.BuildManifest.BuildIdentities[0].BbChipID, + KernelCacheType: kcs[dev.BoardConfig][0][strings.LastIndex(kcs[dev.BoardConfig][0], ".")+1:], + // ResearchSupported: d.ResearchSupported, }, }, - MemClass: xdev.DeviceTrait.DevicePerformanceMemoryClass, + MemClass: memClass, } } } } else { - panic("unsupport IPSW/OTA type w/ no devicetree?") + panic("unsupported IPSW/OTA type") + } + } + + return nil +} + +func mLBTypeToBoardConfig(bc string, mlbType string) string { + return mlbType + strings.ToUpper(strings.TrimPrefix(bc, strings.ToLower(mlbType))) +} + +func (i *Info) GetDevicesFromMap(dmap *types.DeviceMap, devs *Devices) error { + for bc, d := range *dmap { + if len(d.ProductType) > 0 { + if _, ok := (*devs)[d.ProductType]; !ok { + if d.ProductName != d.ProductDescription { + (*devs)[d.ProductType] = Device{ + Name: d.ProductName, + Description: d.ProductDescription, + Boards: make(map[string]Board), + MemClass: d.DevicePerformanceMemoryClass, + SDKPlatform: d.SDKPlatform, + } + } else { + (*devs)[d.ProductType] = Device{ + Name: d.ProductName, + Boards: make(map[string]Board), + MemClass: d.DevicePerformanceMemoryClass, + SDKPlatform: d.SDKPlatform, + } + } + } + proc := getProcessor(d.Platform) + if len(proc.Name) == 0 { + log.Errorf("no processor for %s for board %s: %s", d.Platform, bc, d.ProductName) + } + (*devs)[d.ProductType].Boards[mLBTypeToBoardConfig(bc, d.MLBType)] = Board{ + CPU: proc.Name, + Platform: d.Platform, + PlatformName: d.PlatformName, + ChipID: d.ChipID, + CpuISA: proc.CPUISA, + Arch: d.KernelMachOArchitecture, + BoardID: d.BoardID, + BasebandChipID: d.BasebandChipID, + KernelCacheType: d.KernelCacheType, + ResearchSupported: d.ResearchSupported, + } + } else { + log.Debugf("Board %s has no product type", bc) } } diff --git a/pkg/info/info.go b/pkg/info/info.go index 9a6e2dcb7..874d2f05b 100644 --- a/pkg/info/info.go +++ b/pkg/info/info.go @@ -144,17 +144,17 @@ func (i *Info) String() string { devices, err := xcode.GetDevices() if err == nil { for _, device := range devices { - if device.ProductType == dt.Model { + if device.ProductType == dt.ProductType { prodName = device.ProductDescription break } } } else { - prodName = dt.Model + prodName = dt.ProductType } } iStr += fmt.Sprintf("\n%s\n", prodName) - iStr += fmt.Sprintf(" > %s_%s_%s\n", dt.Model, strings.ToUpper(dt.BoardConfig), i.Plists.BuildManifest.ProductBuildVersion) + iStr += fmt.Sprintf(" > %s_%s_%s\n", dt.ProductType, strings.ToUpper(dt.BoardConfig), i.Plists.BuildManifest.ProductBuildVersion) if len(kcs[strings.ToLower(dt.BoardConfig)]) > 0 { iStr += fmt.Sprintf(" - KernelCache: %s\n", kcs[strings.ToLower(dt.BoardConfig)]) } @@ -169,7 +169,7 @@ func (i *Info) String() string { if len(bls[strings.ToLower(dt.BoardConfig)]) > 0 { iStr += fmt.Sprintf(" - BootLoaders\n") for _, bl := range bls[strings.ToLower(dt.BoardConfig)] { - if _, key, err := getApFirmwareKey(dt.Model, i.Plists.BuildManifest.ProductBuildVersion, filepath.Base(bl)); err != nil { + if _, key, err := getApFirmwareKey(dt.ProductType, i.Plists.BuildManifest.ProductBuildVersion, filepath.Base(bl)); err != nil { iStr += fmt.Sprintf(" * %s\n", filepath.Base(bl)) } else { iStr += fmt.Sprintf(" * %s 🔑 -> %s\n", filepath.Base(bl), key) @@ -191,7 +191,7 @@ func (i *Info) GetFolder() string { var devs []string for _, dtree := range i.DeviceTrees { dt, _ := dtree.Summary() - devs = append(devs, dt.Model) + devs = append(devs, dt.ProductType) } devs = utils.SortDevices(utils.Unique(devs)) return fmt.Sprintf("%s__%s", i.Plists.BuildManifest.ProductBuildVersion, getAbbreviatedDevList(devs)) @@ -202,7 +202,7 @@ func (i *Info) GetFolders() []string { var folders []string for _, dtree := range i.DeviceTrees { dt, _ := dtree.Summary() - folders = append(folders, fmt.Sprintf("%s_%s_%s", dt.Model, strings.ToUpper(dt.BoardConfig), i.Plists.BuildManifest.ProductBuildVersion)) + folders = append(folders, fmt.Sprintf("%s_%s_%s", dt.ProductType, strings.ToUpper(dt.BoardConfig), i.Plists.BuildManifest.ProductBuildVersion)) } return folders } @@ -214,7 +214,7 @@ func (i *Info) GetFolderForFile(fileName string) string { dt, _ := dtree.Summary() for _, file := range files[strings.ToLower(dt.BoardConfig)] { if strings.Contains(fileName, filepath.Base(file)) { - return fmt.Sprintf("%s_%s_%s", dt.Model, strings.ToUpper(dt.BoardConfig), i.Plists.BuildManifest.ProductBuildVersion) + return fmt.Sprintf("%s_%s_%s", dt.ProductType, strings.ToUpper(dt.BoardConfig), i.Plists.BuildManifest.ProductBuildVersion) } } } @@ -247,7 +247,7 @@ func (i *Info) getFolders() []folder { for _, dtree := range i.DeviceTrees { dt, _ := dtree.Summary() fs = append(fs, folder{ - Name: fmt.Sprintf("%s_%s_%s", dt.Model, strings.ToUpper(dt.BoardConfig), i.Plists.BuildManifest.ProductBuildVersion), + Name: fmt.Sprintf("%s_%s_%s", dt.ProductType, strings.ToUpper(dt.BoardConfig), i.Plists.BuildManifest.ProductBuildVersion), KernelCaches: kcs[strings.ToLower(dt.BoardConfig)], }) } @@ -285,7 +285,7 @@ func (i *Info) GetDevicesForKernelCache(kc string) []string { for _, dtree := range i.DeviceTrees { dt, _ := dtree.Summary() if strings.ToLower(bconf) == strings.ToLower(dt.BoardConfig) { - devices = append(devices, dt.Model) + devices = append(devices, dt.ProductType) } } } @@ -341,6 +341,7 @@ func Parse(ipswPath string) (*Info, error) { // ParseZipFiles parses plist files and devicetree in a remote zip file func ParseZipFiles(files []*zip.File) (*Info, error) { var err error + i := &Info{} i.Plists, err = plist.ParseZipFiles(files) diff --git a/pkg/plist/build_manifest.go b/pkg/plist/build_manifest.go index c0b47d4c0..a157d8b38 100644 --- a/pkg/plist/build_manifest.go +++ b/pkg/plist/build_manifest.go @@ -17,6 +17,20 @@ type BuildManifest struct { SupportedProductTypes []string `plist:"SupportedProductTypes,omitempty"` } +func (b *BuildManifest) String() string { + var out string + out += "BuildManifest:\n" + out += fmt.Sprintf(" ManifestVersion: %d\n", b.ManifestVersion) + out += fmt.Sprintf(" ProductBuildVersion: %s\n", b.ProductBuildVersion) + out += fmt.Sprintf(" ProductVersion: %s\n", b.ProductVersion) + out += fmt.Sprintf(" SupportedProductTypes: %v\n", b.SupportedProductTypes) + out += " BuildIdentities:\n" + for _, bID := range b.BuildIdentities { + out += fmt.Sprintf(" -\n%s", bID.String()) + } + return out +} + type buildIdentity struct { ApBoardID string ApChipID string @@ -42,6 +56,23 @@ type buildIdentity struct { EUICCChipID int `plist:"eUICC,ChipID,omitempty"` } +func (i buildIdentity) String() string { + var out string + out += fmt.Sprintf(" ProductMarketingVersion: %s\n", i.ProductMarketingVersion) + out += fmt.Sprintf(" ApBoardID: %s\n", i.ApBoardID) + out += fmt.Sprintf(" ApChipID: %s\n", i.ApChipID) + out += fmt.Sprintf(" ApSecurityDomain: %s\n", i.ApSecurityDomain) + out += fmt.Sprintf(" BbChipID: %s\n", i.BbChipID) + out += fmt.Sprintf(" Info:\n%s", i.Info.String()) + out += fmt.Sprintf(" Manifest:\n") + for k, v := range i.Manifest { + if len(v.Info.Path) > 0 { + out += fmt.Sprintf(" %s: %s\n", k, v.String()) + } + } + return out +} + type buildIdentityInfo struct { BuildNumber string CodeName string `plist:"BuildTrain,omitempty"` @@ -56,6 +87,27 @@ type buildIdentityInfo struct { VariantContents map[string]string } +func (i buildIdentityInfo) String() string { + return fmt.Sprintf( + " BuildNumber: %s\n"+ + " CodeName: %s\n"+ + " DeviceClass: %s\n"+ + " FDRSupport: %t\n"+ + " MinimumSystemPartition: %d\n"+ + " MobileDeviceMinVersion: %s\n"+ + " RestoreBehavior: %s\n"+ + " Variant: %s\n", + i.BuildNumber, + i.CodeName, + i.DeviceClass, + i.FDRSupport, + i.MinimumSystemPartition, + i.MobileDeviceMinVersion, + i.RestoreBehavior, + i.Variant, + ) +} + type buildIdentityManifest struct { Digest []byte BuildString string `plist:"BuildString,omitempty"` @@ -63,6 +115,14 @@ type buildIdentityManifest struct { Trusted bool } +func (m buildIdentityManifest) String() string { + var bs string + if len(m.BuildString) > 0 { + bs = fmt.Sprintf(" (%s)", m.BuildString) + } + return fmt.Sprintf("%s%s", m.Info.Path, bs) +} + type buildIdentityManifestInfo struct { IsFTAB bool IsFUDFirmware bool `plist:"IsFUDFirmware,omitempty"` @@ -95,6 +155,18 @@ func (b *BuildManifest) GetKernelCaches() map[string][]string { return kernelCaches } +func (b *BuildManifest) GetKernelForModel(model string) []string { + kcs := b.GetKernelCaches() + if v, ok := kcs[model]; ok { + return v + } else if len(kcs) == 1 { + for _, v := range kcs { + return v + } + } + return nil +} + func (b *BuildManifest) GetBootLoaders() map[string][]string { bootLoaders := make(map[string][]string, len(b.BuildIdentities)) for _, bID := range b.BuildIdentities { @@ -118,6 +190,11 @@ func (b *BuildManifest) GetBootLoaders() map[string][]string { bootLoaders[bID.Info.DeviceClass] = append(bootLoaders[bID.Info.DeviceClass], bID.Manifest["LLB"].Info.Path) } } + if !utils.StrSliceHas(bootLoaders[bID.Info.DeviceClass], bID.Manifest["SEP"].Info.Path) { + if len(bID.Manifest["SEP"].Info.Path) > 0 { + bootLoaders[bID.Info.DeviceClass] = append(bootLoaders[bID.Info.DeviceClass], bID.Manifest["SEP"].Info.Path) + } + } } return bootLoaders } diff --git a/pkg/plist/plist.go b/pkg/plist/plist.go index 0d358d9e1..635b82c6c 100644 --- a/pkg/plist/plist.go +++ b/pkg/plist/plist.go @@ -17,6 +17,7 @@ import ( // Plists IPSW/OTA plists object type Plists struct { + Type string *BuildManifest *Restore *AssetDataInfo @@ -116,7 +117,7 @@ func Parse(path string) (*Plists, error) { // ParseZipFiles parses plists in remote ipsw zip func ParseZipFiles(files []*zip.File) (*Plists, error) { - ipsw := &Plists{} + ipsw := &Plists{Type: "IPSW"} for _, f := range files { if regexp.MustCompile(`.*plist$`).MatchString(f.Name) { @@ -143,6 +144,7 @@ func ParseZipFiles(files []*zip.File) (*Plists, error) { return nil, err } case strings.HasSuffix(f.Name, "AssetData/Info.plist"): + ipsw.Type = "OTA" dat, err := readZipFile(f) if err != nil { return nil, fmt.Errorf("failed to read plist file: %s", err) @@ -152,6 +154,7 @@ func ParseZipFiles(files []*zip.File) (*Plists, error) { return nil, err } case strings.EqualFold(f.Name, "Info.plist"): + ipsw.Type = "OTA" dat, err := readZipFile(f) if err != nil { return nil, fmt.Errorf("failed to read plist file: %s", err) @@ -168,11 +171,10 @@ func ParseZipFiles(files []*zip.File) (*Plists, error) { } func (p *Plists) GetOSType() string { - if len(p.BuildManifest.BuildIdentities[0].Info.VariantContents["OS"]) > 0 { - return p.BuildManifest.BuildIdentities[0].Info.VariantContents["OS"] - } if p.OTAInfo != nil { return p.OTAInfo.MobileAssetProperties.ReleaseType + } else if len(p.BuildManifest.BuildIdentities[0].Info.VariantContents["OS"]) > 0 { + return p.BuildManifest.BuildIdentities[0].Info.VariantContents["OS"] } return "" } diff --git a/pkg/xcode/xcode.go b/pkg/xcode/xcode.go index 8bbaa53a1..32131f563 100644 --- a/pkg/xcode/xcode.go +++ b/pkg/xcode/xcode.go @@ -84,3 +84,39 @@ func GetDevices() ([]Device, error) { return devices, nil } + +// GetDeviceForProd returns the device matching a given product type +func GetDeviceForProd(prod string) (*Device, error) { + var devices []Device + + err := json.Unmarshal(traitsData, &devices) + if err != nil { + return nil, err + } + + for _, device := range devices { + if device.ProductType == prod { + return &device, nil + } + } + + return nil, fmt.Errorf("device not found") +} + +// GetDeviceForModel returns the device matching a given model +func GetDeviceForModel(model string) (*Device, error) { + var devices []Device + + err := json.Unmarshal(traitsData, &devices) + if err != nil { + return nil, err + } + + for _, device := range devices { + if device.Target == model { + return &device, nil + } + } + + return nil, fmt.Errorf("device not found") +}