From owner-freebsd-arm@freebsd.org Wed Jul 15 06:45:39 2015 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ADF459A28B8 for ; Wed, 15 Jul 2015 06:45:39 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: from phabric-backend.isc.freebsd.org (phabric-backend.isc.freebsd.org [IPv6:2001:4f8:3:ffe0:406a:0:50:2]) by mx1.freebsd.org (Postfix) with ESMTP id 8DA8D1E84 for ; Wed, 15 Jul 2015 06:45:39 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.isc.freebsd.org (Postfix, from userid 1346) id 7FB1BE351; Wed, 15 Jul 2015 06:45:39 +0000 (UTC) Date: Wed, 15 Jul 2015 06:45:39 +0000 To: freebsd-arm@freebsd.org From: "wma_semihalf.com (Wojciech Macek)" Reply-to: D3093+327+2a07f7966a36d8e6@FreeBSD.org Subject: [Differential] [Request, 91 lines] D3093: ARMv8 locore.S cleanup and TCR register update Message-ID: X-Priority: 3 Thread-Topic: D3093: ARMv8 locore.S cleanup and TCR register update X-Herald-Rules: <28>, <31>, <32>, <34> X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: Thread-Index: MzBhZGMyZWQyNmZmNjgwMWZjYjI4ZThlZTAz Precedence: bulk X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: , , , MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_c5978e36b71369e40b76db68e6531fb9" X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jul 2015 06:45:39 -0000 --b1_c5978e36b71369e40b76db68e6531fb9 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit wma_semihalf.com created this revision. wma_semihalf.com added reviewers: zbb, emaste, andrew. wma_semihalf.com added a subscriber: freebsd-arm-list. wma_semihalf.com set the repository for this revision to rS FreeBSD src repository. Herald added subscribers: emaste, andrew, imp. REVISION SUMMARY This commit adds proper cache and shareability attributes to the TCR registers. Set memory attributes to Normal, outer and inner cacheable WBWA. Set shareability to inner and outer shareable when SMP is enabled. Also a locore file was cleaned up: - build_block_pagetables have an additional parameter added (shareability attribute) to allow mapping memory with other SH ATTR chosen if one wants to do so (like device SOC_DEV or similar) Fixes in locore.s: - opt_kstack_pages.h include was added to ensure the proper KSTACK_PAGES value is used - secondary stack calculation is modified to provide stack_top = secondary_stacks + (cpu_id)*PAGE_SIZE*KSTACK_PAGES because on ARMv8 the stack grows into lower memory addresses REPOSITORY rS FreeBSD src repository REVISION DETAIL https://reviews.freebsd.org/D3093 AFFECTED FILES sys/arm64/arm64/locore.S sys/arm64/include/armreg.h EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: wma_semihalf.com, zbb, emaste, andrew Cc: imp, andrew, freebsd-arm-list, emaste --b1_c5978e36b71369e40b76db68e6531fb9 Content-Type: text/x-patch; charset=utf-8; name="D3093.6958.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D3093.6958.patch" ZGlmZiAtLWdpdCBhL3N5cy9hcm02NC9pbmNsdWRlL2FybXJlZy5oIGIvc3lzL2FybTY0L2luY2x1 ZGUvYXJtcmVnLmgKLS0tIGEvc3lzL2FybTY0L2luY2x1ZGUvYXJtcmVnLmgKKysrIGIvc3lzL2Fy bTY0L2luY2x1ZGUvYXJtcmVnLmgKQEAgLTIwMCw2ICsyMDAsMjggQEAKICNkZWZpbmUJVENSX1RH MV80SwkoMiA8PCBUQ1JfVEcxX1NISUZUKQogI2RlZmluZQlUQ1JfVEcxXzY0SwkoMyA8PCBUQ1Jf VEcxX1NISUZUKQogCisjZGVmaW5lCVRDUl9TSDFfU0hJRlQJMjgKKyNkZWZpbmUJVENSX1NIMV9J UwkoMHgzVUwgPDwgVENSX1NIMV9TSElGVCkKKyNkZWZpbmUJVENSX09SR04xX1NISUZUCTI2Cisj ZGVmaW5lCVRDUl9PUkdOMV9XQldBCSgweDFVTCA8PCBUQ1JfT1JHTjFfU0hJRlQpCisjZGVmaW5l CVRDUl9JUkdOMV9TSElGVAkyNAorI2RlZmluZQlUQ1JfSVJHTjFfV0JXQQkoMHgxVUwgPDwgVENS X0lSR04xX1NISUZUKQorI2RlZmluZQlUQ1JfU0gwX1NISUZUCTEyCisjZGVmaW5lCVRDUl9TSDBf SVMJKDB4M1VMIDw8IFRDUl9TSDBfU0hJRlQpCisjZGVmaW5lCVRDUl9PUkdOMF9TSElGVAkxMAor I2RlZmluZQlUQ1JfT1JHTjBfV0JXQQkoMHgxVUwgPDwgVENSX09SR04wX1NISUZUKQorI2RlZmlu ZQlUQ1JfSVJHTjBfU0hJRlQJOAorI2RlZmluZQlUQ1JfSVJHTjBfV0JXQQkoMHgxVUwgPDwgVENS X0lSR04wX1NISUZUKQorCisjZGVmaW5lCVRDUl9DQUNIRV9BVFRSUwkoKFRDUl9JUkdOMF9XQldB IHwgVENSX0lSR04xX1dCV0EpIHxcCisJCQkJKFRDUl9PUkdOMF9XQldBIHwgVENSX09SR04xX1dC V0EpKQorCisjaWZkZWYgU01QCisjZGVmaW5lCVRDUl9TTVBfQVRUUlMJKFRDUl9TSDBfSVMgfCBU Q1JfU0gxX0lTKQorI2Vsc2UKKyNkZWZpbmUJVENSX1NNUF9BVFRSUwkwCisjZW5kaWYKKwogI2Rl ZmluZQlUQ1JfVDFTWl9TSElGVAkxNgogI2RlZmluZQlUQ1JfVDBTWl9TSElGVAkwCiAjZGVmaW5l CVRDUl9UeFNaKHgpCSgoKHgpIDw8IFRDUl9UMVNaX1NISUZUKSB8ICgoeCkgPDwgVENSX1QwU1pf U0hJRlQpKQpkaWZmIC0tZ2l0IGEvc3lzL2FybTY0L2FybTY0L2xvY29yZS5TIGIvc3lzL2FybTY0 L2FybTY0L2xvY29yZS5TCi0tLSBhL3N5cy9hcm02NC9hcm02NC9sb2NvcmUuUworKysgYi9zeXMv YXJtNjQvYXJtNjQvbG9jb3JlLlMKQEAgLTI3LDYgKzI3LDggQEAKICAqLwogCiAjaW5jbHVkZSAi YXNzeW0ucyIKKyNpbmNsdWRlICJvcHRfa3N0YWNrX3BhZ2VzLmgiCisKICNpbmNsdWRlIDxzeXMv c3lzY2FsbC5oPgogI2luY2x1ZGUgPG1hY2hpbmUvYXNtLmg+CiAjaW5jbHVkZSA8bWFjaGluZS9h cm1yZWcuaD4KQEAgLTQzLDYgKzQ1LDEyIEBACiAjZGVmaW5lCU5PUk1BTF9VTkNBQ0hFRAkxCiAj ZGVmaW5lCU5PUk1BTF9NRU0JMgogCisjaWZkZWYgU01QCisjZGVmaW5lCVNIQVJFQUJJTElUWQlB VFRSX1NIKEFUVFJfU0hfSVMpCisjZWxzZQorI2RlZmluZQlTSEFSRUFCSUxJVFkJMAorI2VuZGlm CisKIC8qCiAgKiBXZSBhc3N1bWU6CiAgKiAgTU1VICAgICAgb24gd2l0aCBhbiBpZGVudGl0eSBt YXAsIG9yIG9mZgpAQCAtMTgwLDggKzE4OCw3IEBACiBtcF92aXJ0ZG9uZToKIAlsZHIJeDQsID1z ZWNvbmRhcnlfc3RhY2tzCiAJbW92CXg1LCAjKFBBR0VfU0laRSAqIEtTVEFDS19QQUdFUykKLQlz dWIJeDEsIHgwLCAjMQotCW11bAl4NSwgeDEsIHg1CisJbXVsCXg1LCB4MCwgeDUKIAlhZGQJc3As IHg0LCB4NQogCiAJYglpbml0X3NlY29uZGFyeQpAQCAtMzE4LDM2ICszMjUsMzcgQEAKICAqLwog Y3JlYXRlX3BhZ2V0YWJsZXM6CiAJLyogU2F2ZSB0aGUgTGluayByZWdpc3RlciAqLwotCW1vdgl4 NSwgeDMwCisJbW92CXg0LCB4MzAKIAogCS8qIENsZWFuIHRoZSBwYWdlIHRhYmxlICovCi0JYWRy CXg2LCBwYWdldGFibGUKLQltb3YJeDI2LCB4NgorCWFkcgl4NSwgcGFnZXRhYmxlCisJbW92CXgy NiwgeDUKIAlhZHIJeDI3LCBwYWdldGFibGVfZW5kCiAxOgotCXN0cAl4enIsIHh6ciwgW3g2XSwg IzE2Ci0Jc3RwCXh6ciwgeHpyLCBbeDZdLCAjMTYKLQlzdHAJeHpyLCB4enIsIFt4Nl0sICMxNgot CXN0cAl4enIsIHh6ciwgW3g2XSwgIzE2Ci0JY21wCXg2LCB4MjcKKwlzdHAJeHpyLCB4enIsIFt4 NV0sICMxNgorCXN0cAl4enIsIHh6ciwgW3g1XSwgIzE2CisJc3RwCXh6ciwgeHpyLCBbeDVdLCAj MTYKKwlzdHAJeHpyLCB4enIsIFt4NV0sICMxNgorCWNtcAl4NSwgeDI3CiAJYi5sbwkxYgogCiAJ LyoKIAkgKiBCdWlsZCB0aGUgVFRCUjEgbWFwcy4KIAkgKi8KIAogCS8qIEZpbmQgdGhlIHNpemUg b2YgdGhlIGtlcm5lbCAqLwotCW1vdgl4NiwgIyhLRVJOQkFTRSkKLQlsZHIJeDcsIC5MZW5kCisJ bW92CXg1LCAjKEtFUk5CQVNFKQorCWxkcgl4NiwgLkxlbmQKIAkvKiBGaW5kIHRoZSBlbmQgLSBi ZWdpbiAqLwotCXN1Ygl4OCwgeDcsIHg2CisJc3ViCXg3LCB4NiwgeDUKIAkvKiBHZXQgdGhlIG51 bWJlciBvZiBsMiBwYWdlcyB0byBhbGxvY2F0ZSwgcm91bmRlZCBkb3duICovCi0JbHNyCXgxMCwg eDgsICMoTDJfU0hJRlQpCisJbHNyCXgxMCwgeDcsICMoTDJfU0hJRlQpCiAJLyogQWRkIDQgTWlC IGZvciBhbnkgcm91bmRpbmcgYWJvdmUgYW5kIHRoZSBtb2R1bGUgZGF0YSAqLwogCWFkZAl4MTAs IHgxMCwgIzIKIAogCS8qIENyZWF0ZSB0aGUga2VybmVsIHNwYWNlIEwyIHRhYmxlICovCi0JbW92 CXg2LCB4MjYKKwltb3YJeDUsIHgyNgorCW1vdgl4NiwgI1NIQVJFQUJJTElUWQogCW1vdgl4Nywg I05PUk1BTF9NRU0KIAltb3YJeDgsICMoS0VSTkJBU0UgJiBMMl9CTE9DS19NQVNLKQogCW1vdgl4 OSwgeDI4CkBAIC0zNTcsOCArMzY1LDggQEAKIAlhZGQJeDI2LCB4MjYsICNQQUdFX1NJWkUKIAog CS8qIExpbmsgdGhlIGwxIC0+IGwyIHRhYmxlICovCi0JbW92CXg5LCB4NgotCW1vdgl4NiwgeDI2 CisJbW92CXg5LCB4NQorCW1vdgl4NSwgeDI2CiAJYmwJbGlua19sMV9wYWdldGFibGUKIAogCkBA IC0zNzcsMTkgKzM4NSwyMSBAQAogI2VuZGlmCiAKIAkvKiBDcmVhdGUgdGhlIFZBID0gUEEgbWFw ICovCi0JbW92CXg2LCB4MjcJCS8qIFRoZSBpbml0aWFsIHBhZ2UgdGFibGUgKi8KKwltb3YJeDUs IHgyNwkJLyogVGhlIGluaXRpYWwgcGFnZSB0YWJsZSAqLworCW1vdgl4NiwgIzAKIAltb3YJeDcs ICNOT1JNQUxfVU5DQUNIRUQgLyogVW5jYWNoZWQgYXMgaXQncyBvbmx5IG5lZWRlZCBlYXJseSBv biAqLwogCW1vdgl4OSwgeDI3CiAJbW92CXg4LCB4OQkJLyogVkEgc3RhcnQgKD09IFBBIHN0YXJ0 KSAqLwogCWJsCWJ1aWxkX3NlY3Rpb25fcGFnZXRhYmxlCiAKIAkvKiBSZXN0b3JlIHRoZSBMaW5r IHJlZ2lzdGVyICovCi0JbW92CXgzMCwgeDUKKwltb3YJeDMwLCB4NAogCXJldAogCiAvKgogICog QnVpbGRzIGEgMSBHaUIgcGFnZSB0YWJsZSBlbnRyeQotICogIHg2ID0gTDEgdGFibGUKKyAqICB4 NSA9IEwxIHRhYmxlCisgKiAgeDYgPSBTaGFyZWFiaWxpdHkgYXR0cnVidXRlCiAgKiAgeDcgPSBU eXBlICgwID0gRGV2aWNlLCAxID0gTm9ybWFsKQogICogIHg4ID0gVkEgc3RhcnQKICAqICB4OSA9 IFBBIHN0YXJ0ICh0cmFzaGVkKQpAQCAtNDA3LDEzICs0MTcsMTQgQEAKIAlsc2wJeDEyLCB4Nywg IzIKIAlvcnIJeDEyLCB4MTIsICNMMV9CTE9DSwogCW9ycgl4MTIsIHgxMiwgIyhBVFRSX0FGKQor CW9ycgl4MTIsIHgxMiwgeDYKIAogCS8qIE9ubHkgdXNlIHRoZSBvdXRwdXQgYWRkcmVzcyBiaXRz ICovCiAJbHNyCXg5LCB4OSwgI0wxX1NISUZUCiAJb3JyCXgxMiwgeDEyLCB4OSwgbHNsICNMMV9T SElGVAogCiAJLyogU3RvcmUgdGhlIGVudHJ5ICovCi0Jc3RyCXgxMiwgW3g2LCB4MTEsIGxzbCAj M10KKwlzdHIJeDEyLCBbeDUsIHgxMSwgbHNsICMzXQogCiAJcmV0CiAKQEAgLTQyMyw3ICs0MzQs NyBAQAogICogVGhpcyBpcyBhIGxpbmsgZm9yIGEgMUdpQiBibG9jayBvZiBtZW1vcnkgd2l0aCB1 cCB0byAyTWlCIHJlZ2lvbnMgbWFwcGVkCiAgKiB3aXRoaW4gaXQgYnkgYnVpbGRfYmxvY2tfcGFn ZXRhYmxlLgogICoKLSAqICB4NiAgPSBMMSB0YWJsZQorICogIHg1ICA9IEwxIHRhYmxlCiAgKiAg eDggID0gVmlydHVhbCBBZGRyZXNzCiAgKiAgeDkgID0gTDIgUEEgKHRyYXNoZWQpCiAgKiAgeDEx LCB4MTIgYW5kIHgxMyBhcmUgdHJhc2hlZApAQCAtNDQ0LDEzICs0NTUsMTQgQEAKIAlvcnIJeDEy LCB4MTIsIHg5LCBsc2wgIzEyCiAKIAkvKiBTdG9yZSB0aGUgZW50cnkgKi8KLQlzdHIJeDEyLCBb eDYsIHgxMSwgbHNsICMzXQorCXN0cgl4MTIsIFt4NSwgeDExLCBsc2wgIzNdCiAKIAlyZXQKIAog LyoKICAqIEJ1aWxkcyBjb3VudCAyIE1pQiBwYWdlIHRhYmxlIGVudHJ5Ci0gKiAgeDYgID0gTDIg dGFibGUKKyAqICB4NSAgPSBMMiB0YWJsZQorICogIHg2ICA9IFNoYXJlYWJpbGl0eSBhdHRyaWJ1 dGUKICAqICB4NyAgPSBUeXBlICgwID0gRGV2aWNlLCAxID0gTm9ybWFsKQogICogIHg4ICA9IFZB IHN0YXJ0CiAgKiAgeDkgID0gUEEgc3RhcnQgKHRyYXNoZWQpCkBAIC00NjksMTggKzQ4MSwxNiBA QAogCWxzbAl4MTIsIHg3LCAjMgogCW9ycgl4MTIsIHgxMiwgI0wyX0JMT0NLCiAJb3JyCXgxMiwg eDEyLCAjKEFUVFJfQUYpCi0jaWZkZWYgU01QCi0Jb3JyCXgxMiwgeDEyLCBBVFRSX1NIKEFUVFJf U0hfSVMpCi0jZW5kaWYKKwlvcnIJeDEyLCB4MTIsIHg2CiAKIAkvKiBPbmx5IHVzZSB0aGUgb3V0 cHV0IGFkZHJlc3MgYml0cyAqLwogCWxzcgl4OSwgeDksICNMMl9TSElGVAogCiAJLyogU2V0IHRo ZSBwaHlzaWNhbCBhZGRyZXNzIGZvciB0aGlzIHZpcnR1YWwgYWRkcmVzcyAqLwogMToJb3JyCXgx MiwgeDEyLCB4OSwgbHNsICNMMl9TSElGVAogCiAJLyogU3RvcmUgdGhlIGVudHJ5ICovCi0Jc3Ry CXgxMiwgW3g2LCB4MTEsIGxzbCAjM10KKwlzdHIJeDEyLCBbeDUsIHgxMSwgbHNsICMzXQogCiAJ LyogQ2xlYXIgdGhlIGFkZHJlc3MgYml0cyAqLwogCWFuZAl4MTIsIHgxMiwgI0FUVFJfTUFTS19M CkBAIC01MzUsNyArNTQ1LDggQEAKIAkJLyogRGV2aWNlICAgICAgICAgICAgTm9ybWFsLCBubyBj YWNoZSAgICAgTm9ybWFsLCB3cml0ZS1iYWNrICovCiAJLnF1YWQJTUFJUl9BVFRSKDB4MDAsIDAp IHwgTUFJUl9BVFRSKDB4NDQsIDEpIHwgTUFJUl9BVFRSKDB4ZmYsIDIpCiB0Y3I6Ci0JLnF1YWQg KFRDUl9UeFNaKDY0IC0gVklSVF9CSVRTKSB8IFRDUl9BU0lEXzE2IHwgVENSX1RHMV80SykKKwku cXVhZCAoVENSX1R4U1ooNjQgLSBWSVJUX0JJVFMpIHwgVENSX0FTSURfMTYgfCBUQ1JfVEcxXzRL IHwgXAorCSAgICBUQ1JfQ0FDSEVfQVRUUlMgfCBUQ1JfU01QX0FUVFJTKQogc2N0bHJfc2V0Ogog CS8qIEJpdHMgdG8gc2V0ICovCiAJLnF1YWQgKFNDVExSX1VDSSB8IFNDVExSX25UV0UgfCBTQ1RM Ul9uVFdJIHwgU0NUTFJfVUNUIHwgU0NUTFJfRFpFIHwgXAoK --b1_c5978e36b71369e40b76db68e6531fb9--