From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Fioravante Subject: Re: [PATCH mini-os enhancements for vtpm 3/8] add endian support to mini-os Date: Tue, 18 Sep 2012 13:45:08 -0400 Message-ID: <5058B324.9090802@jhuapl.edu> References: <50579CB7.1010707@jhuapl.edu> <20120917221209.GH5110@type.youpi.perso.aquilenet.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5376601629790655582==" Return-path: In-Reply-To: <20120917221209.GH5110@type.youpi.perso.aquilenet.fr> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Samuel Thibault , "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org This is a cryptographically signed message in MIME format. --===============5376601629790655582== Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms070300000300040804080906" This is a cryptographically signed message in MIME format. --------------ms070300000300040804080906 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 09/17/2012 06:12 PM, Samuel Thibault wrote: > Matthew Fioravante, le Mon 17 Sep 2012 17:57:11 -0400, a =E9crit : >> diff --git a/extras/mini-os/include/byteorder.h >> b/extras/mini-os/include/byteorder.h >> --- /dev/null >> +++ b/extras/mini-os/include/byteorder.h > Ok. > >> -static inline uint16_t bswap_16(uint16_t x) >> -{ >> - return >> - ((((x) & 0xff00) >> 8) | (((x) & 0xff) << 8)); >> -} >> - >> +#define bswap_16(x) ((uint16_t)( \ >> + (((uint16_t)(x) & (uint16_t)0x00ffU) << 8) >> | \ >> + (((uint16_t)(x) & (uint16_t)0xff00U) >> 8))) > Why replacing the inline with a macro? AIUI, inlines provide the same > efficiency while providing some minimal type checking (and safety > against things like bswap_16(x++). With a macro you can do this: const uint16_t foo =3D bswap_16(4000); Not possible with inline. From what I've seen in other system heads (linux in particular), they tend to be implemented as macros or compiler builtins. > >> diff --git a/extras/mini-os/include/endian.h >> diff --git a/extras/mini-os/include/ia64/arch_endian.h >> diff --git a/extras/mini-os/include/ia64/arch_wordsize.h >> diff --git a/extras/mini-os/include/x86/arch_endian.h >> diff --git a/extras/mini-os/include/x86/x86_32/arch_wordsize.h >> diff --git a/extras/mini-os/include/x86/x86_64/arch_wordsize.h > Ok. > > Samuel --------------ms070300000300040804080906 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIDyjCC A8YwggMvoAMCAQICBD/xyf0wDQYJKoZIhvcNAQEFBQAwLzELMAkGA1UEBhMCVVMxDzANBgNV BAoTBkpIVUFQTDEPMA0GA1UECxMGQklTRENBMB4XDTEwMDYxMTE4MjIwNloXDTEzMDYxMTE4 NTIwNlowZjELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkpIVUFQTDEPMA0GA1UECxMGUGVvcGxl MTUwFgYDVQQLEw9WUE5Hcm91cC1CSVNEQ0EwGwYDVQQDExRNYXR0aGV3IEUgRmlvcmF2YW50 ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAnpbwVSP6o1Nb5lcW7dd3yTo9iBJdi7qz 4nANOMFPK7JOy5npKN1iiousl28U/scUJES55gPwAWYJK3uVyQAsA4adgDKi5DoD1UHDQEwp bY7iHLJeq0NPr4BqYNqnCFPbE6HC8zSJrr4qKn+gVUQT39SIFqdiIPJwZL8FYTRQ/zsCAwEA AaOCAbYwggGyMAsGA1UdDwQEAwIHgDArBgNVHRAEJDAigA8yMDEwMDYxMTE4MjIwNlqBDzIw MTIwNzE3MjI1MjA2WjAbBg0rBgEEAbMlCwMBAQEBBAoWCGZpb3JhbWUxMBsGDSsGAQQBsyUL AwEBAQIEChIIMDAxMDQyNjEwWAYJYIZIAYb6ax4BBEsMSVRoZSBwcml2YXRlIGtleSBjb3Jy ZXNwb25kaW5nIHRvIHRoaXMgY2VydGlmaWNhdGUgbWF5IGhhdmUgYmVlbiBleHBvcnRlZC4w KAYDVR0RBCEwH4EdTWF0dGhldy5GaW9yYXZhbnRlQGpodWFwbC5lZHUwUgYDVR0fBEswSTBH oEWgQ6RBMD8xCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZKSFVBUEwxDzANBgNVBAsTBkJJU0RD QTEOMAwGA1UEAxMFQ1JMNTYwHwYDVR0jBBgwFoAUCDUpmxH52EU2CyWmF2EJMB1yqeswHQYD VR0OBBYEFO6LYxg6r9wHZ+zdQtBHn1dZ/YTNMAkGA1UdEwQCMAAwGQYJKoZIhvZ9B0EABAww ChsEVjcuMQMCBLAwDQYJKoZIhvcNAQEFBQADgYEAJO9HQh4YNChVLzuZqK5ARJARD8JoujGZ fdo75quvg2jXFQe2sEjvLnxJZgm/pv8fdZakq48CWwjYHKuvIp7sDjTEsQfo+y7SpN/N2NvJ WU5SqfK1VgYtNLRRoGJUB5Q1aZ+Dg95g3kqpyfpUMISJL8IKVLtJVfN4fggFVUYZ9wwxggGr MIIBpwIBATA3MC8xCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZKSFVBUEwxDzANBgNVBAsTBkJJ U0RDQQIEP/HJ/TAJBgUrDgMCGgUAoIHLMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJ KoZIhvcNAQkFMQ8XDTEyMDkxODE3NDUwOFowIwYJKoZIhvcNAQkEMRYEFEQaZfRLm+yVGL7b Mz0XQ1ywMu0KMGwGCSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAK BggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYI KoZIhvcNAwICASgwDQYJKoZIhvcNAQEBBQAEgYA+sCytbccxcA3lDUmaey8scPDqrGeaX9vO aQMCLfNSFb9srweKFzM5eFNs2R9iI2rYfzagdC8PuvvqxXqbFP2dkP+JkCbObHrG/Eq5RGWQ SWyNldVVc5rlwZPlEGQzoEnoYgCnfbD79WgwO6UwlopTJwz1Icr+2yRGbrShvdDY0gAAAAAA AA== --------------ms070300000300040804080906-- --===============5376601629790655582== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --===============5376601629790655582==--