From owner-freebsd-hackers@freebsd.org Thu Oct 5 22:58:30 2017 Return-Path: Delivered-To: freebsd-hackers@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 1C554E4481E for ; Thu, 5 Oct 2017 22:58:30 +0000 (UTC) (envelope-from soulofroot55@gmail.com) Received: from mail-wm0-x234.google.com (mail-wm0-x234.google.com [IPv6:2a00:1450:400c:c09::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 993D564E40 for ; Thu, 5 Oct 2017 22:58:29 +0000 (UTC) (envelope-from soulofroot55@gmail.com) Received: by mail-wm0-x234.google.com with SMTP id k4so4852386wmc.1 for ; Thu, 05 Oct 2017 15:58:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=gbJ6bo3M7XLr7zy/xCzMEtkSKXMZizNkKExQj0NeRqc=; b=UZNR6e1VH7PLZanYmO7AK5afopcvMLIKh0AWhM9CAicWkS6elRPwGAiWt1XdjEs6Iy nxknECqkidtxmmY5Xbo7EaU8bVytXjVw0RyvPrYTV3qmdUNjfcEs7cTdJUzGUCJh+sKu K3vByMnCAev7IdKW6URPW7KX8iQRitUy5K4lKiUeKwMQw5nO4hRIEJrMZAmeBI8C+SX6 kciK8kIqQ73W6dUJKTg1l46K4co6CVLsO2cAq0mcxY9d4R4ayQSiS8ywKvkClzOv4paP QfMD8J7n9yoLVRJUeN4PK2R4Jcf6Emet31A+SeUeJmRlG824c7ojy95fm92iZjm8sYpJ M7MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=gbJ6bo3M7XLr7zy/xCzMEtkSKXMZizNkKExQj0NeRqc=; b=TIccZWVySSP+mfjxmue7cN2233QjRAroHt0BI2V7O4TVy2OBymIHcLC+o8KQYfn7Y0 kDy9yrMP/Ym4460X1CayZXUH+6Dxeth0c+88ivTa/4/jRae1fOSITtgCcLrZvrHENE3b +aWbuDzwSoOvgkj3NRXUanJ00RmMHN8k20i90eJBVQtzWdNCJQVDcg2UglCIc7f2zZA9 uRIqKxnyaub/wruVmF3pb2LVBNoLjpoXhfPE0gbJHZgX2s207dmY02l/ALNMJDhwdTX9 BYrJAt38CKLAaF00/uQdVI4PfCv1fBVcJpB+ZExftiqdlhqDEZqAnQ85SQ5FJd3JAS8+ TsAA== X-Gm-Message-State: AMCzsaWvMkr23KD9VCyp4RXpzNnUwxNYuUxn4Lu3PtVk6s9vDKRE5pZ/ R4njuxckLVUotvsuJKmqmicbsV5U4f1BB+r0PqdGqA== X-Google-Smtp-Source: AOwi7QBaF7+d9LcqFQSQossbv6dZ9nSYT4smljmKlvKU3YPL8vjyh+DhMpJBfrA0yE956D4sMiFjpL9v60rw+JXs8Ic= X-Received: by 10.80.207.134 with SMTP id h6mr694493edk.55.1507244307419; Thu, 05 Oct 2017 15:58:27 -0700 (PDT) MIME-Version: 1.0 Received: by 10.80.162.133 with HTTP; Thu, 5 Oct 2017 15:58:27 -0700 (PDT) From: SOUL_OF_ROOT 55 Date: Thu, 5 Oct 2017 19:58:27 -0300 Message-ID: Subject: What are the codes that contain the marcos that are created directly or the .word directives? To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Oct 2017 22:58:30 -0000 It has come to my attention the following: "The minority of FreeBSD developers either create a macro expands to something like ".word =E2=80=9C or sometimes the .word is just = hard coded inline when there=E2=80=99s only going to be one of them, sometimes e= xpose them both in assembly and in C code, in which case what we do varies a bit to accommodate the different language=E2=80=99s syntax. It is rare, but has happened, that we only expose it to C code. Generally, though, the minority of FreeBSD developers try to add support for the opcodes to gas so that get the constraint testing it does (making sure the opcode is supported at the level you are compiling, making sure it isn=E2=80=99t in a delay slot or violating some other precondition for its = use). People generally don=E2=80=99t write in raw machine opcodes. That is indepe= ndent of FreeBSD. However, a few, specialized people will find the need to do it from time to time. Usually because they are porting FreeBSD to a newer processor that needs newer opcodes to do context switching, optimize interrupt handling, code with a new type of cache coherency, etc. These people look up the assembler in the docs from the vendor and then create the .word workaround to make sure things work. If they have the time, they may add it to our somewhat ancient gas assembler as well." A few, specialized people still will find the need of write in raw machine opcodes from time to time because usually they are porting FreeBSD to a newer processor that needs newer opcodes to do context switching, optimize interrupt handling, code with a new type of cache coherency, etc? These people still look up the assembler in the docs from the vendor and then create the .word workaround to make sure things work? If they still have the time, they still may add it to our somewhat ancient gas assembler as well? Some developers of FreeBSD still use the marcos that I described above sometimes when doing specific, low-level coding? A handful of developers of FreeBSD still create the marcos directly or use the .word directives in their work to make certain things work that cannot work otherwise? If yes, what are the codes that contain the marcos that I described above sometimes when doing specific, low-level coding? What are the codes that contain the marcos that are created directly or the .word directives that are used in their work to make certain things work that cannot work otherwise? If is not possible speak what are all this codes, please, quote good amount of examples. *I wonder* what *Oko* would say about it. Livre de v=C3=ADrus. www.avg.com . <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>