From nobody Mon May 18 17:48:06 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gK4z003stz6fjbp for ; Mon, 18 May 2026 17:48:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gK4yz4ttlz47YN for ; Mon, 18 May 2026 17:48:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779126491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W3liSnVBJx8z4vsDBDfWbGhfydbUOd/6Yrkfir5+HO4=; b=ZaTvztgLSXxlLoY/BOKj5BD1rPtriICEZe7qiZZLef1NCUkUHSKoWIJSU72/wyrC4XzvWI lFjvgU12M4o8dHnoTKhRy48ZJPiy7WoQwGwyQOjGy72OQu9+xZ5cVHU92RNUrJ62771zeH kFUSHY+V6tdZYxjnC7lVYQG8N9mPzTxkdv/S7hqGGjdFrz8HqmQpcok3nwomkFAQI1mtgi bXd7jtOcKh6AT+jTbl8NaoU1hQ9aZDecfUGg1VGkCVIoRIp5+x/UXyJb5h/+5+tvYU0ygS 2wupei/tzCyR+E71tw4GemIopb8JjizzLJFsbzLtY27snlSHcJUFSn4pvKXyPQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779126491; a=rsa-sha256; cv=none; b=JlhQ0/nBn9Qzf/07wNOD0oxkfVHMdVoh2I2d/NY+NepVMQpE6CY8EwUQyE19qjpzJ+uMgQ cSOUN/5RVoWYASDqO8aMTi7HiDMKfi7wuFJJ2Ud21Z1Nw7e3ctbFmd0s52durExt15enwF eojXggyYMA9oCQ5aGKO8U9G/4WXz3H6Cqs3xaHuOlL9Sr3gnlHeGCKtlzH7whYNNTHpbWh fBiv/DSLF+r9Ko7tIHVBfIZSCccPI9P6f9GnS9RJbU7fLR5nwfN3CR1iOVZEkIIYOZBNej uMpnDnMtpNJ0WC8ydcaho587FEoTx3bqWKB4ATIbRiQOutEz+0pZbqGwqbun6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779126491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W3liSnVBJx8z4vsDBDfWbGhfydbUOd/6Yrkfir5+HO4=; b=xhbgkWbRKcZeS6wuABmI+ZmSJkxjzk7rRFAOW/jtyxTKNBc/SBULXr/qlH0d2og3J1PVIh nNTRPrqIhL4fzdgofe2HW5LRt1LcubKZupp5I8XA/tTweKJW+LWAS/O4etov27/YJ3T1YT zuO/Dnp5kJIJV95G9gqkTvk2cmNEraPVeaoJUaiZ5x3njQev/iFfwrH7tYuuOqiUEuOGzB YvfykZwKPTD9gRqlisgPbDNlFZdDl+FKxn+lEe2rgar1qFK3mhGZ3FQgqVNn5nsg6mb5Ea bZD0aEnrMNff5Hm8zpg8DsgBQ/uK1wcqcHvWnsRxADXXgExtmrMjMsD7Lo3Ggw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gK4yz4DP3zfNf for ; Mon, 18 May 2026 17:48:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f468 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 18 May 2026 17:48:06 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Mitchell Horne Subject: git: 3f018dc958 - main - Website - i18n: fix "Legacy Release" keyword List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f018dc958ffdf0b5cd0b267cb6e178520517feb Auto-Submitted: auto-generated Date: Mon, 18 May 2026 17:48:06 +0000 Message-Id: <6a0b50d6.1f468.435958d@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/doc/commit/?id=3f018dc958ffdf0b5cd0b267cb6e178520517feb commit 3f018dc958ffdf0b5cd0b267cb6e178520517feb Author: Mitchell Horne AuthorDate: 2026-05-18 17:35:00 +0000 Commit: Mitchell Horne CommitDate: 2026-05-18 17:38:05 +0000 Website - i18n: fix "Legacy Release" keyword Reapply 5636b2ce2754, which makes the keyword in the releases sidenav translatable. This got lost in the website refresh. While here, drop the entry for 13.5, which also reappeared. This recently went EOL. Reported by: vladlen --- website/themes/beastie/i18n/en.toml | 3 +++ website/themes/beastie/layouts/_partials/sidenav.html | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/website/themes/beastie/i18n/en.toml b/website/themes/beastie/i18n/en.toml index 6eae26049a..a0d479d872 100644 --- a/website/themes/beastie/i18n/en.toml +++ b/website/themes/beastie/i18n/en.toml @@ -589,6 +589,9 @@ other = "Release Information" [productionRelease] other = "Production Release" +[legacyRelease] +other = "Legacy Release" + [upcomingRelease] other = "Upcoming Release" diff --git a/website/themes/beastie/layouts/_partials/sidenav.html b/website/themes/beastie/layouts/_partials/sidenav.html index d69a919e0a..cd80b78259 100644 --- a/website/themes/beastie/layouts/_partials/sidenav.html +++ b/website/themes/beastie/layouts/_partials/sidenav.html @@ -57,8 +57,7 @@
  • From nobody Tue May 19 14:25:10 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gKcQH0QpQz6fGTT for ; Tue, 19 May 2026 14:25:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gKcQG6QqZz3pwN for ; Tue, 19 May 2026 14:25:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779200710; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dZdcB6A1gnh59jkEBlHg+F4NSgmW8KoKb7/YeLa5MCA=; b=wNALC1kBRSvksa1r9++6fxAN1GQBDOibau8I5fUPGizxwEu/HoQdEzBqInqWLrbt2H2ds+ /kt7murTdtoXAL7zToqkfRIdE6Ywr7N5+5vwnYfvkW5lBNjjeaiXHbTYgWuZCvvrc4E1n5 igBCU925Z40ow1yj3IZxVvD0xdqyvQf0Jwsiv8tY/mt4RZUhLi8OfhgmrsSrS3XxT0M/ng BxjpZP6HzwAiDvcl5/KGKGG9wVBabOcalYk1EOmFvBwH60F+eL+ndLCkrxdmi0NLH73I/K Nn+Z4gNjCpCf/xZEDq8a3HNCtR8Y2LODbcXILJ4Bxr4jcQEN0ZIXO40DdMV1IQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779200710; a=rsa-sha256; cv=none; b=mGGM+lXczYQ4BuGH2PMwbtGujB7xl/jsecOsp58shl3VMueW9NtH5q1GZt9WQWKf8GMd9s NcyinIPsEYw/bCQ9hbWF2ICVcIeUIGolsUYG7BVHXtqio4556A0yFKRlbtdjSMZ7UE2nAf ZzqCCBFLt95wxeUMwqNoW+wCpoFRy7P3YYCsRisPZehP5H4FA+MS1nSTLKhIoY6b7iGMv0 oj/4/XUqzw6wT3jpJ5jazP96vCAvQ/mkMNe6Cra5Wner8DbtZWWzQDoML3OAeUCN98r8n7 iIYew0UNd0h0/xPL967bKwgrGhzi32IpcFG1tzcIrJB4S/iLqD8hnGww6569wg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779200710; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dZdcB6A1gnh59jkEBlHg+F4NSgmW8KoKb7/YeLa5MCA=; b=kYREg9i8Zd+83088dKnZ0tBq9gA+qCjWKB5RVIVY65a/mWxGVdOaomrIBkhBnH6yO5YDjW nSY6xo9k5SCmI87gex0rEqpUKKSnrtWIxWXjRI6grCcDncVWRuWMfbeZ961UZJTKll+opE tlLApoagAvY28wDaqLWSZlN1c7rRGCBHs/bQBaM0zuGNs6/F3xkL9Ru/AlG7j7jgbnlgvW mO267UqVN0xD886yTTquTYtQvP5tiPNnlQR2RYBXXy6VFMZhQouBKQ9jbWDT+7EINYPn+l JwXQ4enIf8DWU8oJOIG/EqdFX5MhvdxI+00ksipX+2SBqKTR3FNEC1N/x5FXwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gKcQG62Tbz304 for ; Tue, 19 May 2026 14:25:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e5f4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 19 May 2026 14:25:10 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Mitchell Horne Subject: git: 204da0afff - main - x86-assembly: update the article a bit List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 204da0afff16e333db3fdd6be60eca849ce480fa Auto-Submitted: auto-generated Date: Tue, 19 May 2026 14:25:10 +0000 Message-Id: <6a0c72c6.3e5f4.635991d3@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/doc/commit/?id=204da0afff16e333db3fdd6be60eca849ce480fa commit 204da0afff16e333db3fdd6be60eca849ce480fa Author: Mitchell Horne AuthorDate: 2026-05-19 14:15:53 +0000 Commit: Mitchell Horne CommitDate: 2026-05-19 14:15:53 +0000 x86-assembly: update the article a bit Minor tweaks for consistency/readability. Actual content is not touched. - Replace references to "chapter" with "article". - Add a NOTE of the historical nature of the document. - Clarify assemblers available on FreeBSD. - List the trademarks used in the article, and reduce the (R) symbol usage. Per the Doc Primer, it only needs to be emitted with the first usage of the trademark. - Add more tags for SEO Reviewed by: 0mp, emaste (previous version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45962 --- .../content/de/articles/x86-assembly/_index.adoc | 2 +- .../content/en/articles/x86-assembly/_index.adoc | 214 ++++++++++----------- .../content/ru/articles/x86-assembly/_index.adoc | 2 +- 3 files changed, 100 insertions(+), 118 deletions(-) diff --git a/documentation/content/de/articles/x86-assembly/_index.adoc b/documentation/content/de/articles/x86-assembly/_index.adoc index 0a3aa3831a..da56b90f38 100644 --- a/documentation/content/de/articles/x86-assembly/_index.adoc +++ b/documentation/content/de/articles/x86-assembly/_index.adoc @@ -4,7 +4,7 @@ authors: - author: Adam Stanislav email: adam@redprince.net description: A tutorial on writing programs for FreeBSD in x86 assembly language -tags: ["x86", "assembly", "programming", "guide"] +tags: ["assembly", "guide", "ia32", "ld", "llvm-as", "nasm", "programming", "x86"] --- = x86-Assembler-Programmierung diff --git a/documentation/content/en/articles/x86-assembly/_index.adoc b/documentation/content/en/articles/x86-assembly/_index.adoc index 73e34b3817..b14d045530 100644 --- a/documentation/content/en/articles/x86-assembly/_index.adoc +++ b/documentation/content/en/articles/x86-assembly/_index.adoc @@ -4,7 +4,8 @@ authors: - author: Adam Stanislav email: adam@redprince.net description: A tutorial on writing programs for FreeBSD in x86 assembly language -tags: ["x86", "assembly", "programming", "guide"] +trademarks: ["apple", "freebsd", "general", "intel", "linux", "microsoft", "posix", "unix"] +tags: ["assembly", "guide", "ia32", "ld", "llvm-as", "nasm", "programming", "x86"] --- = x86 Assembly Language Programming @@ -41,26 +42,31 @@ toc::[] include::../../../../../shared/asciidoctor.adoc[] endif::[] -_This chapter was written by {stanislav}._ +_This article was written by {stanislav} (2001), and adjusted by {mhorne} (2026)._ + +[NOTE] +==== +The content in this article is historical. +==== [[x86-intro]] == Synopsis Assembly language programming under UNIX(R) is highly undocumented. -It is generally assumed that no one would ever want to use it because various UNIX(R) systems run on different microprocessors, so everything should be written in C for portability. +It is generally assumed that no one would ever want to use it because various UNIX systems run on different microprocessors, so everything should be written in C for portability. In reality, C portability is quite a myth. -Even C programs need to be modified when ported from one UNIX(R) to another, regardless of what processor each runs on. +Even C programs need to be modified when ported from one UNIX to another, regardless of what processor each runs on. Typically, such a program is full of conditional statements depending on the system it is compiled for. -Even if we believe that all of UNIX(R) software should be written in C, or some other high-level language, we still need assembly language programmers: Who else would write the section of C library that accesses the kernel? +Even if we believe that all of UNIX software should be written in C, or some other high-level language, we still need assembly language programmers: Who else would write the section of C library that accesses the kernel? -In this chapter I will attempt to show you how you can use assembly language writing UNIX(R) programs, specifically under FreeBSD. +In this article I will attempt to show you how you can use assembly language writing UNIX programs, specifically under FreeBSD. -This chapter does not explain the basics of assembly language. +This article does not explain the basics of assembly language. There are enough resources about that (for a complete online course in assembly language, see Randall Hyde's http://webster.cs.ucr.edu/[Art of Assembly Language]; or if you prefer a printed book, take a look at Jeff Duntemann's Assembly Language Step-by-Step (ISBN: 0471375233). -However, once the chapter is finished, any assembly language programmer will be able to write programs for FreeBSD quickly and efficiently. +However, once the article is finished, any assembly language programmer will be able to write programs for FreeBSD quickly and efficiently. Copyright (R) 2000-2001 G. Adam Stanislav. All rights reserved. @@ -71,14 +77,15 @@ Copyright (R) 2000-2001 G. Adam Stanislav. All rights reserved. === The Assembler The most important tool for assembly language programming is the assembler, the software that converts assembly language code into machine language. +Two very different types of assemblers are available for FreeBSD. -Three very different assemblers are available for FreeBSD. -Both man:llvm-as[1] (included in package:devel/llvm[]) and man:as[1] (included in package:devel/binutils[]) use the traditional UNIX(R) assembly language syntax. +The first is the GNU man:as[1] (package:devel/binutils[]), which uses the traditional UNIX assembly language syntax. +Alternatively, one can use man:clang[1], which is a compatible replacement for the GNU assembler and comes with the system. -On the other hand, man:nasm[1] (installed through package:devel/nasm[]) uses the Intel syntax. -Its main advantage is that it can assemble code for many operating systems. +The other is man:nasm[1] (package:devel/nasm[]). +This assembler uses the Intel syntax, and its main advantage is that it can assemble code for many operating systems. -This chapter uses nasm syntax because most assembly language programmers coming to FreeBSD from other operating systems will find it easier to understand. +This article uses nasm syntax because most assembly language programmers coming to FreeBSD from other operating systems will find it easier to understand. And, because, quite frankly, that is what I am used to. [[x86-the-linker]] @@ -99,7 +106,7 @@ By default, the FreeBSD kernel uses the C calling convention. Further, although the kernel is accessed using `int 80h`, it is assumed the program will call a function that issues `int 80h`, rather than issuing `int 80h` directly. This convention is very convenient, and quite superior to the Microsoft(R) convention used by MS-DOS(R). -Why? Because the UNIX(R) convention allows any program written in any language to access the kernel. +Why? Because the UNIX convention allows any program written in any language to access the kernel. An assembly language program can do that as well. For example, we could open a file: @@ -121,7 +128,7 @@ open: .... This is a very clean and portable way of coding. -If you need to port the code to a UNIX(R) system which uses a different interrupt, or a different way of passing parameters, all you need to change is the kernel procedure. +If you need to port the code to a UNIX system which uses a different interrupt, or a different way of passing parameters, all you need to change is the kernel procedure. But assembly language programmers like to shave off cycles. The above example requires a `call/ret` combination. @@ -146,11 +153,11 @@ The `5` that we have placed in `EAX` identifies the kernel function, in this cas FreeBSD is an extremely flexible system. It offers other ways of calling the kernel. -For it to work, however, the system must have Linux emulation installed. +For it to work, however, the system must have Linux(R) emulation installed. -Linux is a UNIX(R) like system. -However, its kernel uses the same system-call convention of passing parameters in registers MS-DOS(R) does. -As with the UNIX(R) convention, the function number is placed in `EAX`. +Linux is a UNIX-like system. +However, its kernel uses the same system-call convention of passing parameters in registers MS-DOS does. +As with the UNIX convention, the function number is placed in `EAX`. The parameters, however, are not passed on the stack but in `EBX, ECX, EDX, ESI, EDI, EBP`: [.programlisting] @@ -179,7 +186,7 @@ After your program is assembled and linked, you need to brand the executable: [[x86-use-geneva]] === Which Convention Should You Use? -If you are coding specifically for FreeBSD, you should always use the UNIX(R) convention: +If you are coding specifically for FreeBSD, you should always use the UNIX convention: It is faster, you can store global variables in registers, you do not have to brand the executable, and you do not impose the installation of the Linux emulation package on the target system. @@ -198,7 +205,7 @@ Of course, you need to know what the number is. The numbers are listed in [.filename]#syscalls#. `locate syscalls` finds this file in several different formats, all produced automatically from [.filename]#syscalls.master#. -You can find the master file for the default UNIX(R) calling convention in [.filename]#/usr/src/sys/kern/syscalls.master#. +You can find the master file for the default UNIX calling convention in [.filename]#/usr/src/sys/kern/syscalls.master#. If you need to use the other convention implemented in the Linux emulation mode, read [.filename]#/usr/src/sys/i386/linux/syscalls.master#. [NOTE] @@ -239,7 +246,7 @@ A file does not exist, system resources are exhausted, we passed an invalid para [[x86-man-pages]] === Man Pages -The traditional place to look for information about various system calls under UNIX(R) systems are the manual pages. +The traditional place to look for information about various system calls under UNIX systems are the manual pages. FreeBSD describes its system calls in section 2, sometimes in section 3. For example, man:open[2] says: @@ -248,7 +255,7 @@ For example, man:open[2] says: If successful, `open()` returns a non-negative integer, termed a file descriptor. It returns `-1` on failure, and sets `errno` to indicate the error. -The assembly language programmer new to UNIX(R) and FreeBSD will immediately ask the puzzling question: Where is `errno` and how do I get to it? +The assembly language programmer new to UNIX and FreeBSD will immediately ask the puzzling question: Where is `errno` and how do I get to it? [NOTE] ==== @@ -280,7 +287,7 @@ If you cannot find the answer here or anywhere else, study libc source code and Actually, nowhere... -`errno` is part of the C language, not the UNIX(R) kernel. +`errno` is part of the C language, not the UNIX kernel. When accessing kernel services directly, the error code is returned in `EAX`, the same register the proper return value generally ends up in. This makes perfect sense. If there is no error, there is no error code. @@ -304,7 +311,7 @@ I have written assembly language libraries that can be assembled for such differ It is all the more possible when you want your code to run on two platforms which, while different, are based on similar architectures. -For example, FreeBSD is UNIX(R), Linux is UNIX(R) like. +For example, FreeBSD is UNIX, Linux is UNIX-like. I only mentioned three differences between them (from an assembly language programmer's perspective): The calling convention, the function numbers, and the way of returning values. @@ -454,7 +461,7 @@ No library or external object file is necessary, yet your code is portable witho [NOTE] ==== -This is the approach we will use throughout this chapter. +This is the approach we will use throughout this article. We will name our include file [.filename]#system.inc#, and add to it whenever we deal with a new system call. ==== @@ -569,8 +576,8 @@ The `SYS_exit` syscall never returns, so the code ends there. [NOTE] ==== -If you have come to UNIX(R) from MS-DOS(R) assembly language background, you may be used to writing directly to the video hardware. -You will never have to worry about this in FreeBSD, or any other flavor of UNIX(R). +If you have come to UNIX from MS-DOS assembly language background, you may be used to writing directly to the video hardware. +You will never have to worry about this in FreeBSD, or any other flavor of UNIX. As far as you are concerned, you are writing to a file known as [.filename]#stdout#. This can be the video screen, or a telnet terminal, or an actual file, or even the input of another program. Which one it is, is for the system to figure out. @@ -580,32 +587,7 @@ Which one it is, is for the system to figure out. === Assembling the Code Type the code in an editor, and save it in a file named [.filename]#hello.asm#. -You need nasm to assemble it. - -[[x86-get-nasm]] -==== Installing nasm - -If you do not have nasm, type: - -[source,shell] -.... -% su -Password:your root password -# cd /usr/ports/devel/nasm -# make install -# exit -% -.... - -You may type `make install clean` instead of just `make install` if you do not want to keep nasm source code. - -Either way, FreeBSD will automatically download nasm from the Internet, compile it, and install it on your system. - -[NOTE] -==== -If your system is not FreeBSD, you need to get nasm from its https://sourceforge.net/projects/nasm[home page]. -You can still use it to assemble FreeBSD code. -==== +You need package:devel/nasm[] to assemble it. Now you can assemble, link, and run the code: @@ -619,9 +601,9 @@ Hello, World! .... [[x86-unix-filters]] -== Writing UNIX(R) Filters +== Writing UNIX Filters -A common type of UNIX(R) application is a filter-a program that reads data from the [.filename]#stdin#, processes it somehow, then writes the result to [.filename]#stdout#. +A common type of UNIX application is a filter-a program that reads data from the [.filename]#stdin#, processes it somehow, then writes the result to [.filename]#stdout#. In this chapter, we shall develop a simple filter, and learn how to read from [.filename]#stdin# and write to [.filename]#stdout#. This filter will convert each byte of its input into a hexadecimal number followed by a blank space. @@ -712,8 +694,8 @@ Hello, World! [NOTE] ==== -If you are migrating to UNIX(R) from MS-DOS(R), you may be wondering why each line ends with `0A` instead of `0D 0A`. -This is because UNIX(R) does not use the cr/lf convention, but a "new line" convention, which is `0A` in hexadecimal. +If you are migrating to UNIX from MS-DOS, you may be wondering why each line ends with `0A` instead of `0D 0A`. +This is because UNIX does not use the cr/lf convention, but a "new line" convention, which is `0A` in hexadecimal. ==== Can we improve this? Well, for one, it is a bit confusing because once we have converted a line of text, @@ -773,7 +755,7 @@ _start: .... We have stored the space in the `CL` register. -We can do this safely because, unlike Microsoft(R) Windows(R), UNIX(R) system calls do not modify the value of any register they do not use to return a value in. +We can do this safely because, unlike Microsoft Windows, UNIX system calls do not modify the value of any register they do not use to return a value in. That means we only need to set `CL` once. We have, therefore, added a new label `.loop` and jump to it for the next byte instead of jumping at `_start`. @@ -914,7 +896,7 @@ It simply reserves the requested size of uninitialized memory for our use. We take advantage of the fact that the system does not modify the registers: We use registers for what, otherwise, would have to be global variables stored in the `.data` section. -This is also why the UNIX(R) convention of passing parameters to system calls on the stack is superior to the Microsoft convention of passing them in the registers: We can keep the registers for our own use. +This is also why the UNIX convention of passing parameters to system calls on the stack is superior to the Microsoft convention of passing them in the registers: We can keep the registers for our own use. We use `EDI` and `ESI` as pointers to the next byte to be read from or written to. We use `EBX` and `ECX` to keep count of the number of bytes in the two buffers, @@ -1159,7 +1141,7 @@ With this modification, you can call `ungetc` up to 17 times in a row safely (th Our hex program will be more useful if it can read the names of an input and output file from its command line, i.e., if it can process the command line arguments. But... Where are they? -Before a UNIX(R) system starts a program, it ``push``es some data on the stack, then jumps at the `_start` label of the program. +Before a UNIX system starts a program, it ``push``es some data on the stack, then jumps at the `_start` label of the program. Yes, I said jumps, not calls. That means the data can be accessed by reading `[esp+offset]`, or by simply ``pop``ping it. @@ -1175,7 +1157,7 @@ The `argv` list is followed by a NULL pointer, which is simply a `0`. There is m [NOTE] ==== -If you have come from the MS-DOS(R) programming environment, the main difference is that each argument is in a separate string. +If you have come from the MS-DOS programming environment, the main difference is that each argument is in a separate string. The second difference is that there is no practical limit on how many arguments there can be. ==== @@ -1389,9 +1371,9 @@ Here are a few ideas of what we could do: I shall leave these enhancements as an exercise to the reader: You already know everything you need to know to implement them. [[x86-environment]] -== UNIX(R) Environment +== UNIX Environment -An important UNIX(R) concept is the environment, which is defined by _environment variables_. +An important UNIX concept is the environment, which is defined by _environment variables_. Some are set by the system, others by you, yet others by the shell, or any program that loads another program. [[x86-find-environment]] @@ -1410,7 +1392,7 @@ We need to account for that possibility. [[x86-webvar]] === webvars -I could just show you some code that prints the environment the same way the UNIX(R) env command does. +I could just show you some code that prints the environment the same way the UNIX env command does. But I thought it would be more interesting to write a simple assembly language CGI utility. [[x86-cgi]] @@ -1645,19 +1627,19 @@ If curious about the additional environment variables present in a password prot == Working with Files We have already done some basic file work: We know how to open and close them, how to read and write them using buffers. -But UNIX(R) offers much more functionality when it comes to files. +But UNIX offers much more functionality when it comes to files. We will examine some of it in this section, and end up with a nice file conversion utility. Indeed, let us start at the end, that is, with the file conversion utility. It always makes programming easier when we know from the start what the end product is supposed to do. -One of the first programs I wrote for UNIX(R) was link:ftp://ftp.int80h.org/unix/tuc/[tuc], a text-to-UNIX(R) file converter. -It converts a text file from other operating systems to a UNIX(R) text file. -In other words, it changes from different kind of line endings to the newline convention of UNIX(R). +One of the first programs I wrote for UNIX was package:converters/tuc[tuc(1)], a text-to-UNIX file converter. +It converts a text file from other operating systems to a UNIX text file. +In other words, it changes from different kind of line endings to the newline convention of UNIX. It saves the output in a different file. -Optionally, it converts a UNIX(R) text file to a DOS text file. +Optionally, it converts a UNIX text file to a DOS text file. -I have used tuc extensively, but always only to convert from some other OS to UNIX(R), never the other way. +I have used tuc extensively, but always only to convert from some other OS to UNIX, never the other way. I have always wished it would just overwrite the file instead of me having to send the output to a different file. Most of the time, I end up using it like this: @@ -1674,13 +1656,13 @@ It would be nice to have a ftuc, i.e., _fast tuc_, and use it like this: % ftuc myfile .... -In this chapter, then, we will write ftuc in assembly language (the original tuc is in C), and study various file-oriented kernel services in the process. +In this article, then, we will write ftuc in assembly language (the original tuc is in C), and study various file-oriented kernel services in the process. At first sight, such a file conversion is very simple: All you have to do is strip the carriage returns, right? If you answered yes, think again: That approach will work most of the time (at least with MS DOS text files), but will fail occasionally. -The problem is that not all non UNIX(R) text files end their line with the carriage return / line feed sequence. +The problem is that not all non-UNIX text files end their line with the carriage return / line feed sequence. Some use carriage returns without line feeds. Others combine several blank lines into a single carriage return followed by several line feeds. And so on. @@ -1730,7 +1712,7 @@ What our software does in this state again depends on the current input: * If the input is a line feed, we output the line feed and change the state to ordinary. Note that this is not the same as the first case above - if we tried to combine them, we would be outputting two line feeds instead of one. Finally, we are in the lf state after we have received a line feed that was not preceded by a carriage return. -This will happen when our file already is in UNIX(R) format, or whenever several lines in a row are expressed by a single carriage return followed by several line feeds, or when line ends with a line feed / carriage return sequence. +This will happen when our file already is in UNIX format, or whenever several lines in a row are expressed by a single carriage return followed by several line feeds, or when line ends with a line feed / carriage return sequence. Here is how we need to handle our input in this state: * If the input is anything other than a carriage return or line feed, we output a line feed, then output the input, then change the state to ordinary. This is exactly the same action as in the cr state upon receiving the same kind of input. @@ -1817,7 +1799,7 @@ I said _possibly_ because with the caching modern microprocessors do, either way Because our program works on a single file, we cannot use the approach that worked for us before, i.e., to read from an input file and to write to an output file. -UNIX(R) allows us to map a file, or a section of a file, into memory. +UNIX allows us to map a file, or a section of a file, into memory. To do that, we first need to open the file with the appropriate read/write flags. Then we use the `mmap` system call to map it into the memory. One nice thing about `mmap` is that it automatically works with virtual memory: @@ -1833,12 +1815,12 @@ There are probably not too many text files that exceed two gigabytes in size. If our program encounters one, it will simply display a message suggesting we use the original tuc instead. If you examine your copy of [.filename]#syscalls.master#, you will find two separate syscalls named `mmap`. -This is because of evolution of UNIX(R): There was the traditional BSD `mmap`, syscall 71. +This is because of evolution of UNIX: There was the traditional BSD `mmap`, syscall 71. That one was superseded by the POSIX(R) `mmap`, syscall 197. The FreeBSD system supports both because older programs were written by using the original BSD version. -But new software uses the POSIX(R) version, which is what we will use. +But new software uses the POSIX version, which is what we will use. -The [.filename]#syscalls.master# lists the POSIX(R) version like this: +The [.filename]#syscalls.master# lists the POSIX version like this: [.programlisting] .... @@ -1868,8 +1850,8 @@ Because we need to tell `mmap` how many bytes of the file to map into the memory We can use the `fstat` syscall to get all the information about an open file that the system can give us. That includes the file size. -Again, [.filename]#syscalls.master# lists two versions of `fstat`, a traditional one (syscall 62), and a POSIX(R) one (syscall 189). -Naturally, we will use the POSIX(R) version: +Again, [.filename]#syscalls.master# lists two versions of `fstat`, a traditional one (syscall 62), and a POSIX one (syscall 189). +Naturally, we will use the POSIX version: [.programlisting] .... @@ -2224,7 +2206,7 @@ align 4 [WARNING] ==== -Do not use this program on files stored on a disk formatted by MS-DOS(R) or Windows(R). +Do not use this program on files stored on a disk formatted by MS-DOS or Windows. There seems to be a subtle bug in the FreeBSD code when using `mmap` on these drives mounted under FreeBSD: If the file is over a certain size, `mmap` will just fill the memory with zeros, and then copy them to the file overwriting its contents. ==== @@ -2234,12 +2216,12 @@ If the file is over a certain size, `mmap` will just fill the memory with zeros, As a student of Zen, I like the idea of a one-pointed mind: Do one thing at a time, and do it well. -This, indeed, is very much how UNIX(R) works as well. -While a typical Windows(R) application is attempting to do everything imaginable (and is, therefore, riddled with bugs), a typical UNIX(R) program does only one thing, and it does it well. +This, indeed, is very much how UNIX works as well. +While a typical Windows application is attempting to do everything imaginable (and is, therefore, riddled with bugs), a typical UNIX program does only one thing, and it does it well. -The typical UNIX(R) user then essentially assembles his own applications by writing a shell script which combines the various existing programs by piping the output of one program to the input of another. +The typical UNIX user then essentially assembles his own applications by writing a shell script which combines the various existing programs by piping the output of one program to the input of another. -When writing your own UNIX(R) software, it is generally a good idea to see what parts of the problem you need to solve can be handled by existing programs, and only write your own programs for that part of the problem that you do not have an existing solution for. +When writing your own UNIX software, it is generally a good idea to see what parts of the problem you need to solve can be handled by existing programs, and only write your own programs for that part of the problem that you do not have an existing solution for. [[x86-csv]] === CSV @@ -2256,7 +2238,7 @@ The rest of the file contains the data listed line by line, with values separate I tried awk, using the comma as a separator. But because several lines contained a quoted comma, awk was extracting the wrong field from those lines. Therefore, I needed to write my own software to extract the 11th field from the CSV file. -However, going with the UNIX(R) spirit, I only needed to write a simple filter that would do the following: +However, going with the UNIX spirit, I only needed to write a simple filter that would do the following: * Remove the first line from the file; * Change all unquoted commas to a different character; @@ -2295,7 +2277,7 @@ The `-p` option preserves the first line, i.e., it does not delete it. By default, we delete the first line because in a CSV file it contains the field names rather than data. The `-i` and `-o` options let me specify the input and the output files. -Defaults are [.filename]#stdin# and [.filename]#stdout#, so this is a regular UNIX(R) filter. +Defaults are [.filename]#stdin# and [.filename]#stdout#, so this is a regular UNIX filter. I made sure that both `-i filename` and `-ifilename` are accepted. I also made sure that only one input and one output files may be specified. @@ -2590,7 +2572,7 @@ Much of it is taken from [.filename]#hex.asm# above. But there is one important difference: I no longer call `write` whenever I am outputting a line feed. Yet, the code can be used interactively. -I have found a better solution for the interactive problem since I first started writing this chapter. +I have found a better solution for the interactive problem since I first started writing this article. I wanted to make sure each line is printed out separately only when needed. After all, there is no need to flush out every line when used non-interactively. @@ -2906,7 +2888,7 @@ The most important thing we need to know when building a pinhole camera is the d Since we want to shoot sharp images, we will use the above formula to calculate the pinhole diameter from focal length. As experts are offering several different values for the `PC` constant, we will need to have the choice. -It is traditional in UNIX(R) programming to have two main ways of choosing program parameters, plus to have a default for the time the user does not make a choice. +It is traditional in UNIX programming to have two main ways of choosing program parameters, plus to have a default for the time the user does not make a choice. Why have two ways of choosing? @@ -4051,7 +4033,7 @@ It is converting the text representation of a number into that number: The text To solve the conflict, we use the `std` op code early on. We cancel it with `cld` later on: It is quite important we do not `call` anything that may depend on the default setting of the _direction flag_ while `std` is active. -Everything else in this code should be quit eclear, providing you have read the entire chapter that precedes it. +Everything else in this code should be quit eclear, providing you have read the entire article that precedes it. It is a classical example of the adage that programming requires a lot of thought and only a little coding. Once we have thought through every tiny detail, the code almost writes itself. @@ -4115,7 +4097,7 @@ You have probably seen shell _scripts_ that start with: ...because the blank space after the `#!` is optional. -Whenever UNIX(R) is asked to run an executable file which starts with the `#!`, it assumes the file is a script. +Whenever UNIX is asked to run an executable file which starts with the `#!`, it assumes the file is a script. It adds the command to the rest of the first line of the script, and tries to execute that. Suppose now that we have installed pinhole in /usr/local/bin/, we can now write a script to calculate various pinhole diameters suitable for various focal lengths commonly used with the 120 film. @@ -4148,7 +4130,7 @@ We can set its permissions to execute, and run it as if it were a program: % ./medium .... -UNIX(R) will interpret that last command as: +UNIX will interpret that last command as: [source,shell] .... @@ -4177,7 +4159,7 @@ Now, let us enter: % ./medium -c .... -UNIX(R) will treat that as: +UNIX will treat that as: [source,shell] .... @@ -4223,40 +4205,40 @@ focal length in millimeters,pinhole diameter in microns,F-number,normalized F-nu [[x86-caveats]] == Caveats -Assembly language programmers who "grew up" under MS-DOS(R) and Windows(R) often tend to take shortcuts. -Reading the keyboard scan codes and writing directly to video memory are two classical examples of practices which, under MS-DOS(R) are not frowned upon but considered the right thing to do. +Assembly language programmers who "grew up" under MS-DOS and Windows often tend to take shortcuts. +Reading the keyboard scan codes and writing directly to video memory are two classical examples of practices which, under MS-DOS are not frowned upon but considered the right thing to do. -The reason? Both the PC BIOS and MS-DOS(R) are notoriously slow when performing these operations. +The reason? Both the PC BIOS and MS-DOS are notoriously slow when performing these operations. -You may be tempted to continue similar practices in the UNIX(R) environment. -For example, I have seen a web site which explains how to access the keyboard scan codes on a popular UNIX(R) clone. +You may be tempted to continue similar practices in the UNIX environment. +For example, I have seen a web site which explains how to access the keyboard scan codes on a popular UNIX clone. -That is generally a _very bad idea_ in UNIX(R) environment! Let me explain why. +That is generally a _very bad idea_ in UNIX environment! Let me explain why. [[x86-protected]] -=== UNIX(R) Is Protected +=== UNIX Is Protected For one thing, it may simply not be possible. -UNIX(R) runs in protected mode. +UNIX runs in protected mode. Only the kernel and device drivers are allowed to access hardware directly. -Perhaps a particular UNIX(R) clone will let you read the keyboard scan codes, but chances are a real UNIX(R) operating system will not. +Perhaps a particular UNIX clone will let you read the keyboard scan codes, but chances are a real UNIX operating system will not. And even if one version may let you do it, the next one may not, so your carefully crafted software may become a dinosaur overnight. [[x86-abstraction]] -=== UNIX(R) Is an Abstraction +=== UNIX Is an Abstraction -But there is a much more important reason not to try accessing the hardware directly (unless, of course, you are writing a device driver), even on the UNIX(R) like systems that let you do it: +But there is a much more important reason not to try accessing the hardware directly (unless, of course, you are writing a device driver), even on the UNIX like systems that let you do it: -_UNIX(R) is an abstraction!_ +_UNIX is an abstraction!_ -There is a major difference in the philosophy of design between MS-DOS(R) and UNIX(R). -MS-DOS(R) was designed as a single-user system. +There is a major difference in the philosophy of design between MS-DOS and UNIX. +MS-DOS was designed as a single-user system. It is run on a computer with a keyboard and a video screen attached directly to that computer. User input is almost guaranteed to come from that keyboard. Your program's output virtually always ends up on that screen. -This is NEVER guaranteed under UNIX(R). -It is quite common for a UNIX(R) user to pipe and redirect program input and output: +This is NEVER guaranteed under UNIX. +It is quite common for a UNIX user to pipe and redirect program input and output: [source,shell] .... @@ -4267,18 +4249,18 @@ If you have written program2, your input does not come from the keyboard but fro Similarly, your output does not go to the screen but becomes the input for program3 whose output, in turn, goes to [.filename]#file1#. But there is more! Even if you made sure that your input comes from, and your output goes to, the terminal, there is no guarantee the terminal is a PC: It may not have its video memory where you expect it, nor may its keyboard be producing PC-style scan codes. -It may be a Macintosh(R), or any other computer. +It may be a Macintosh, or any other computer. -Now you may be shaking your head: My software is in PC assembly language, how can it run on a Macintosh(R)? But I did not say your software would be running on a Macintosh(R), only that its terminal may be a Macintosh(R). +Now you may be shaking your head: My software is in PC assembly language, how can it run on a Macintosh? But I did not say your software would be running on a Macintosh, only that its terminal may be a Macintosh. -Under UNIX(R), the terminal does not have to be directly attached to the computer that runs your software, it can even be on another continent, or, for that matter, on another planet. -It is perfectly possible that a Macintosh(R) user in Australia connects to a UNIX(R) system in North America (or anywhere else) via telnet. +Under UNIX, the terminal does not have to be directly attached to the computer that runs your software, it can even be on another continent, or, for that matter, on another planet. +It is perfectly possible that a Macintosh user in Australia connects to a UNIX system in North America (or anywhere else) via telnet. The software then runs on one computer, while the terminal is on a different computer: If you try to read the scan codes, you will get the wrong input! Same holds true about any other hardware: A file you are reading may be on a disk you have no direct access to. A camera you are reading images from may be on a space shuttle, connected to you via satellites. -That is why under UNIX(R) you must never make any assumptions about where your data is coming from and going to. +That is why under UNIX you must never make any assumptions about where your data is coming from and going to. Always let the system handle the physical access to the hardware. [NOTE] @@ -4286,14 +4268,14 @@ Always let the system handle the physical access to the hardware. These are caveats, not absolute rules. Exceptions are possible. For example, if a text editor has determined it is running on a local machine, it may want to read the scan codes directly for improved control. -I am not mentioning these caveats to tell you what to do or what not to do, just to make you aware of certain pitfalls that await you if you have just arrived to UNIX(R) form MS-DOS(R). +I am not mentioning these caveats to tell you what to do or what not to do, just to make you aware of certain pitfalls that await you if you have just arrived to UNIX form MS-DOS. Of course, creative people often break rules, and it is OK as long as they know they are breaking them and why. ==== [[x86-acknowledgements]] == Acknowledgements -This tutorial would never have been possible without the help of many experienced FreeBSD programmers from the {freebsd-hackers}, many of whom have patiently answered my questions, and pointed me in the right direction in my attempts to explore the inner workings of UNIX(R) system programming in general and FreeBSD in particular. +This tutorial would never have been possible without the help of many experienced FreeBSD programmers from the {freebsd-hackers}, many of whom have patiently answered my questions, and pointed me in the right direction in my attempts to explore the inner workings of UNIX system programming in general and FreeBSD in particular. Thomas M. Sommers opened the door for me. His https://web.archive.org/web/20090914064615/http://www.codebreakers-journal.com/content/view/262/27[How do I write "Hello, world" in FreeBSD assembler?] web page was my first encounter with an example of assembly language programming under FreeBSD. diff --git a/documentation/content/ru/articles/x86-assembly/_index.adoc b/documentation/content/ru/articles/x86-assembly/_index.adoc index a7222e861b..94c8727391 100644 --- a/documentation/content/ru/articles/x86-assembly/_index.adoc +++ b/documentation/content/ru/articles/x86-assembly/_index.adoc @@ -2,7 +2,7 @@ title: 'Программирование на языке ассемблера для x86' authors: ~ description: 'Программирование на ассемблере x86' -tags: ["x86", "assembly", "programming", "guide"] +tags: ["assembly", "guide", "ia32", "ld", "llvm-as", "nasm", "programming", "x86"] --- [[x86]] From nobody Tue May 19 14:25:09 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gKcQG0hW9z6fH0X for ; Tue, 19 May 2026 14:25:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gKcQF6cKZz3pwM for ; Tue, 19 May 2026 14:25:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779200709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xJy60eWgatmmJA3TKm4FYskAYD4/MkRDX2b/oi9UvFU=; b=O0Kh+NQW87TmYHWKFXGHpAqUe6LiZP/KTN1i06mC2qPnkg1oR3hnmKdkLcS3zSb4lHQckw xT7issfi2yrTrQghJLOySgIS8YODkD6C1GIYMM3dMGNsa1MNcwq+HxIKgV0cLBz995VjcF 0+OgFAA+5CtFXBlXiHx8XF6qq3LgvveydyDADkoJ+Lc5nShufRcPnQXW5dwpdibf3SEAsP itmowTpQ6zdBKhg0UftelKWeBUYHFMyS8OyL5IGpjQJ/oGb/qhlKdCEVT3heAbt8MD0yaC q2wfrnk0SnTvGut0McQvJa/IM7gXrhNxZEsVRf03wpwg80U/aqZzSiaTIMezig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779200709; a=rsa-sha256; cv=none; b=wg9fUskB31zigBNYgT0AUHuuCpcCLFVGAHFFXxEgkqsY4PXJtA+gU9iGmSbw+rV2TBE/KL B6hmWThdlFGYszm5uANp+e+jfIMFoz2QN75pxUct6j0IbjWclHKNysGBBa5qc/nW3pAbrq WjncNpfVJBcr+Y5SI/6pGB5/Hz5gvnjPofj7k8sUrMoatFCCfQ2FdqfZg0/fjB1kx4lnKp tlV8z4KfjYpJUmLXd+iZqKaNg1w92RQKrWpUQ6sWTwPyJpmWXXAFXw9mUn7nqZUeRdpRdv uVL7XVN34o9yGTpP2R6f1hFRGB8u9515uP4CsFh/PhE08eu/pimHsE2wJymkaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779200709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xJy60eWgatmmJA3TKm4FYskAYD4/MkRDX2b/oi9UvFU=; b=x4XK2gnk1Pj/2cRiXhPAh9s9hkgastHUmUCbAenr1qKV1ZaZCHsC9bCFhV8nDyBJibWsok KedX0ZCSN70hYmv0XSb+XEwttU/bD++EjYI/Nrttd8iRHzvWqaW/myNc8QqzrKs0R2g0S3 /deXtnW1tMjpjQ1erkKuGOiLEUwBMKw5HMSr6k7TIw/hBh+Qmq1zZJgB/kjyuPoEoBKbEH zXNmWtJlYI9yzGHsM5NDY9bJ5E4sCtii2gGqJWPyg6w5FNU3dyD1E207xgiKSGvXVXJdVR zwv1cq66FCtlYi4UchK1SxqCjwd5++CwgbXmAvXOL4ivrePqttDU2NsBSE8M6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gKcQF5qKdz3v1 for ; Tue, 19 May 2026 14:25:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3eb02 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 19 May 2026 14:25:09 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Mitchell Horne Subject: git: 936011df3b - main - dev-handbook: Split x86 assembly chapter into new article List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 936011df3b9c8d70cfab0cbca8b82225d4531667 Auto-Submitted: auto-generated Date: Tue, 19 May 2026 14:25:09 +0000 Message-Id: <6a0c72c5.3eb02.10e2af81@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/doc/commit/?id=936011df3b9c8d70cfab0cbca8b82225d4531667 commit 936011df3b9c8d70cfab0cbca8b82225d4531667 Author: Mitchell Horne AuthorDate: 2026-05-19 14:13:46 +0000 Commit: Mitchell Horne CommitDate: 2026-05-19 14:13:46 +0000 dev-handbook: Split x86 assembly chapter into new article The content of this chapter is niche, and has not been significantly altered since its initial authorship in 2001. Still, it contains highly detailed information that is still accurate on a largely undocumented/esoteric topic. Therefore, it is worth preserving. Move this to a standalone article. This allows us to continue publishing it while removing any expectation that the text should evolve or stay up-to-date. Discussed with: ziaee, carlavilla Reviewed by: emaste (previous version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45961 --- .../x86 => articles/x86-assembly}/_index.adoc | 19 +++++-------- .../content/de/books/developers-handbook/book.adoc | 6 +---- .../de/books/developers-handbook/partiv.adoc | 8 +++--- .../de/books/developers-handbook/partv.adoc | 12 --------- .../x86 => articles/x86-assembly}/_index.adoc | 22 +++++---------- .../content/en/books/developers-handbook/book.adoc | 6 +---- .../en/books/developers-handbook/partiv.adoc | 8 +++--- .../en/books/developers-handbook/partv.adoc | 12 --------- .../x86 => articles/x86-assembly}/_index.adoc | 15 +++-------- .../content/ru/books/developers-handbook/book.adoc | 6 +---- .../ru/books/developers-handbook/partiv.adoc | 10 +++---- .../ru/books/developers-handbook/partv.adoc | 12 --------- .../content/ru/books/developers-handbook/partv.po | 31 ---------------------- .../x86 => articles/x86-assembly}/_index.adoc | 19 +++++-------- .../zh-tw/books/developers-handbook/book.adoc | 6 +---- .../zh-tw/books/developers-handbook/partiv.adoc | 6 ++--- .../zh-tw/books/developers-handbook/partv.adoc | 12 --------- 17 files changed, 44 insertions(+), 166 deletions(-) diff --git a/documentation/content/de/books/developers-handbook/x86/_index.adoc b/documentation/content/de/articles/x86-assembly/_index.adoc similarity index 99% rename from documentation/content/de/books/developers-handbook/x86/_index.adoc rename to documentation/content/de/articles/x86-assembly/_index.adoc index f84a8c7881..0a3aa3831a 100644 --- a/documentation/content/de/books/developers-handbook/x86/_index.adoc +++ b/documentation/content/de/articles/x86-assembly/_index.adoc @@ -1,26 +1,21 @@ --- -title: Kapitel 11. x86-Assembler-Programmierung -prev: books/developers-handbook/partiv -next: books/developers-handbook/partv -showBookMenu: true -weight: 15 -params: - path: "/books/developers-handbook/x86/" +title: x86-Assembler-Programmierung +authors: + - author: Adam Stanislav + email: adam@redprince.net +description: A tutorial on writing programs for FreeBSD in x86 assembly language +tags: ["x86", "assembly", "programming", "guide"] --- -[[x86]] = x86-Assembler-Programmierung -:doctype: book +:doctype: article :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 -:sectnumoffset: 11 -:partnums: :source-highlighter: rouge :experimental: -:images-path: books/developers-handbook/ ifdef::env-beastie[] ifdef::backend-html5[] diff --git a/documentation/content/de/books/developers-handbook/book.adoc b/documentation/content/de/books/developers-handbook/book.adoc index 608d906dad..45ccaf8dcd 100644 --- a/documentation/content/de/books/developers-handbook/book.adoc +++ b/documentation/content/de/books/developers-handbook/book.adoc @@ -76,10 +76,6 @@ include::{chapters-path}partiii.adoc[] include::{chapters-path}kernelbuild/_index.adoc[leveloffset=+1] include::{chapters-path}kerneldebug/_index.adoc[leveloffset=+1] -// Section four -include::{chapters-path}partiv.adoc[] -include::{chapters-path}x86/_index.adoc[leveloffset=+1] - // Appendices -include::{chapters-path}partv.adoc[] +include::{chapters-path}partiv.adoc[] include::{chapters-path}bibliography/_index.adoc[leveloffset=+1] diff --git a/documentation/content/de/books/developers-handbook/partiv.adoc b/documentation/content/de/books/developers-handbook/partiv.adoc index e26aba7f72..7cdae2d878 100644 --- a/documentation/content/de/books/developers-handbook/partiv.adoc +++ b/documentation/content/de/books/developers-handbook/partiv.adoc @@ -1,12 +1,12 @@ --- -title: Teil IV. Architekturen +title: Teil V. Anhang prev: books/developers-handbook/kerneldebug -next: books/developers-handbook/x86 +next: books/developers-handbook/bibliography showBookMenu: true weight: 14 params: path: "/books/developers-handbook/partiv/" --- -[[architectures]] -= Architekturen +[[appendices]] += Anhang diff --git a/documentation/content/de/books/developers-handbook/partv.adoc b/documentation/content/de/books/developers-handbook/partv.adoc deleted file mode 100644 index 68c3358a52..0000000000 --- a/documentation/content/de/books/developers-handbook/partv.adoc +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Teil V. Anhang -prev: books/developers-handbook/x86 -next: books/developers-handbook/bibliography -showBookMenu: true -weight: 16 -params: - path: "/books/developers-handbook/partv/" ---- - -[[appendices]] -= Anhang diff --git a/documentation/content/en/books/developers-handbook/x86/_index.adoc b/documentation/content/en/articles/x86-assembly/_index.adoc similarity index 99% rename from documentation/content/en/books/developers-handbook/x86/_index.adoc rename to documentation/content/en/articles/x86-assembly/_index.adoc index b0ca446359..73e34b3817 100644 --- a/documentation/content/en/books/developers-handbook/x86/_index.adoc +++ b/documentation/content/en/articles/x86-assembly/_index.adoc @@ -1,29 +1,21 @@ --- -title: Chapter 11. x86 Assembly Language Programming +title: x86 Assembly Language Programming authors: -prev: books/developers-handbook/partiv -next: books/developers-handbook/partv -description: x86 Assembly Language Programming -tags: ["x86", "guide"] -showBookMenu: true -weight: 15 -params: - path: "/books/developers-handbook/x86/" + - author: Adam Stanislav + email: adam@redprince.net +description: A tutorial on writing programs for FreeBSD in x86 assembly language +tags: ["x86", "assembly", "programming", "guide"] --- -[[x86]] = x86 Assembly Language Programming -:doctype: book +:doctype: article :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 -:sectnumoffset: A -:partnums: :source-highlighter: rouge :experimental: -:images-path: books/developers-handbook/ ifdef::env-beastie[] ifdef::backend-html5[] @@ -4303,7 +4295,7 @@ Of course, creative people often break rules, and it is OK as long as they know This tutorial would never have been possible without the help of many experienced FreeBSD programmers from the {freebsd-hackers}, many of whom have patiently answered my questions, and pointed me in the right direction in my attempts to explore the inner workings of UNIX(R) system programming in general and FreeBSD in particular. -Thomas M. Sommers opened the door for me . +Thomas M. Sommers opened the door for me. His https://web.archive.org/web/20090914064615/http://www.codebreakers-journal.com/content/view/262/27[How do I write "Hello, world" in FreeBSD assembler?] web page was my first encounter with an example of assembly language programming under FreeBSD. Jake Burkholder has kept the door open by willingly answering all of my questions and supplying me with example assembly language source code. diff --git a/documentation/content/en/books/developers-handbook/book.adoc b/documentation/content/en/books/developers-handbook/book.adoc index 510467b290..e22d612f04 100644 --- a/documentation/content/en/books/developers-handbook/book.adoc +++ b/documentation/content/en/books/developers-handbook/book.adoc @@ -78,10 +78,6 @@ include::{chapters-path}partiii.adoc[] include::{chapters-path}kernelbuild/_index.adoc[leveloffset=+1] include::{chapters-path}kerneldebug/_index.adoc[leveloffset=+1] -// Section four -include::{chapters-path}partiv.adoc[] -include::{chapters-path}x86/_index.adoc[leveloffset=+1] - // Appendices -include::{chapters-path}partv.adoc[] +include::{chapters-path}partiv.adoc[] include::{chapters-path}bibliography/_index.adoc[leveloffset=+1] diff --git a/documentation/content/en/books/developers-handbook/partiv.adoc b/documentation/content/en/books/developers-handbook/partiv.adoc index 595433fd21..25abbe3b96 100644 --- a/documentation/content/en/books/developers-handbook/partiv.adoc +++ b/documentation/content/en/books/developers-handbook/partiv.adoc @@ -1,12 +1,12 @@ --- -title: Part IV. Architectures +title: Part IV. Appendices prev: books/developers-handbook/kerneldebug -next: books/developers-handbook/x86 +next: books/developers-handbook/bibliography showBookMenu: true weight: 14 params: path: "/books/developers-handbook/partiv/" --- -[[architectures]] -= Architectures +[[appendices]] += Appendices diff --git a/documentation/content/en/books/developers-handbook/partv.adoc b/documentation/content/en/books/developers-handbook/partv.adoc deleted file mode 100644 index 243de5dda1..0000000000 --- a/documentation/content/en/books/developers-handbook/partv.adoc +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Part V. Appendices -prev: books/developers-handbook/x86 -next: books/developers-handbook/bibliography -showBookMenu: true -weight: 16 -params: - path: "/books/developers-handbook/partv/" ---- - -[[appendices]] -= Appendices diff --git a/documentation/content/ru/books/developers-handbook/x86/_index.adoc b/documentation/content/ru/articles/x86-assembly/_index.adoc similarity index 99% rename from documentation/content/ru/books/developers-handbook/x86/_index.adoc rename to documentation/content/ru/articles/x86-assembly/_index.adoc index d6f953e4c6..a7222e861b 100644 --- a/documentation/content/ru/books/developers-handbook/x86/_index.adoc +++ b/documentation/content/ru/articles/x86-assembly/_index.adoc @@ -1,29 +1,20 @@ --- +title: 'Программирование на языке ассемблера для x86' authors: ~ description: 'Программирование на ассемблере x86' -next: books/developers-handbook/partv -params: - path: /books/developers-handbook/x86/ -prev: books/developers-handbook/partiv -showBookMenu: 'true' -tags: ["x86", "guide"] -title: 'Глава 11. Программирование на языке ассемблера для x86' -weight: 15 +tags: ["x86", "assembly", "programming", "guide"] --- [[x86]] = Программирование на ассемблере x86 -:doctype: book +:doctype: article :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 -:sectnumoffset: A -:partnums: :source-highlighter: rouge :experimental: -:images-path: books/developers-handbook/ ifdef::env-beastie[] ifdef::backend-html5[] diff --git a/documentation/content/ru/books/developers-handbook/book.adoc b/documentation/content/ru/books/developers-handbook/book.adoc index 0f1aa9b9bf..ad0c676aa6 100644 --- a/documentation/content/ru/books/developers-handbook/book.adoc +++ b/documentation/content/ru/books/developers-handbook/book.adoc @@ -75,10 +75,6 @@ include::{chapters-path}partiii.adoc[] include::{chapters-path}kernelbuild/_index.adoc[leveloffset=+1] include::{chapters-path}kerneldebug/_index.adoc[leveloffset=+1] -// Section four -include::{chapters-path}partiv.adoc[] -include::{chapters-path}x86/_index.adoc[leveloffset=+1] - // Appendices -include::{chapters-path}partv.adoc[] +include::{chapters-path}partiv.adoc[] include::{chapters-path}bibliography/_index.adoc[leveloffset=+1] diff --git a/documentation/content/ru/books/developers-handbook/partiv.adoc b/documentation/content/ru/books/developers-handbook/partiv.adoc index 5ebf4f121c..c4af681fbe 100644 --- a/documentation/content/ru/books/developers-handbook/partiv.adoc +++ b/documentation/content/ru/books/developers-handbook/partiv.adoc @@ -1,12 +1,12 @@ --- -next: books/developers-handbook/x86 +next: books/developers-handbook/bibliography params: path: /books/developers-handbook/partiv/ prev: books/developers-handbook/kerneldebug showBookMenu: 'true' -title: 'Часть IV. Архитектуры' -weight: 14 +title: 'Часть IV. Приложения' +weight: 16 --- -[[architectures]] -= Архитектуры +[[appendices]] += Приложения diff --git a/documentation/content/ru/books/developers-handbook/partv.adoc b/documentation/content/ru/books/developers-handbook/partv.adoc deleted file mode 100644 index dadc6c04d0..0000000000 --- a/documentation/content/ru/books/developers-handbook/partv.adoc +++ /dev/null @@ -1,12 +0,0 @@ ---- -next: books/developers-handbook/bibliography -params: - path: /books/developers-handbook/partv/ -prev: books/developers-handbook/x86 -showBookMenu: 'true' -title: 'Часть V. Приложения' -weight: 16 ---- - -[[appendices]] -= Приложения diff --git a/documentation/content/ru/books/developers-handbook/partv.po b/documentation/content/ru/books/developers-handbook/partv.po deleted file mode 100644 index 139f90dcec..0000000000 --- a/documentation/content/ru/books/developers-handbook/partv.po +++ /dev/null @@ -1,31 +0,0 @@ -# SOME DESCRIPTIVE TITLE -# Copyright (C) YEAR The FreeBSD Project -# This file is distributed under the same license as the FreeBSD Documentation package. -# Vladlen Popolitov , 2025. -msgid "" -msgstr "" -"Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-05-01 19:56-0300\n" -"PO-Revision-Date: 2025-06-07 17:10+0000\n" -"Last-Translator: Vladlen Popolitov \n" -"Language-Team: Russian \n" -"Language: ru\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.17\n" - -#. type: YAML Front Matter: title -#: documentation/content/en/books/developers-handbook/partv.adoc:1 -#, no-wrap -msgid "Part V. Appendices" -msgstr "Часть V. Приложения" - -#. type: Title = -#: documentation/content/en/books/developers-handbook/partv.adoc:12 -#, no-wrap -msgid "Appendices" -msgstr "Приложения" diff --git a/documentation/content/zh-tw/books/developers-handbook/x86/_index.adoc b/documentation/content/zh-tw/articles/x86-assembly/_index.adoc similarity index 99% rename from documentation/content/zh-tw/books/developers-handbook/x86/_index.adoc rename to documentation/content/zh-tw/articles/x86-assembly/_index.adoc index 0e00b56910..0744419586 100644 --- a/documentation/content/zh-tw/books/developers-handbook/x86/_index.adoc +++ b/documentation/content/zh-tw/articles/x86-assembly/_index.adoc @@ -1,26 +1,21 @@ --- -title: 章 11. x86 Assembly Language Programming -prev: books/developers-handbook/partiv -next: books/developers-handbook/partv -showBookMenu: true -weight: 15 -params: - path: "/books/developers-handbook/x86/" +title: x86 Assembly Language Programming +authors: + - author: Adam Stanislav + email: adam@redprince.net +description: A tutorial on writing programs for FreeBSD in x86 assembly language +tags: ["x86", "assembly", "programming", "guide"] --- -[[x86]] = x86 Assembly Language Programming -:doctype: book +:doctype: article :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 -:sectnumoffset: 11 -:partnums: :source-highlighter: rouge :experimental: -:images-path: books/developers-handbook/ ifdef::env-beastie[] ifdef::backend-html5[] diff --git a/documentation/content/zh-tw/books/developers-handbook/book.adoc b/documentation/content/zh-tw/books/developers-handbook/book.adoc index 104ff4e8a8..804d2ee11a 100644 --- a/documentation/content/zh-tw/books/developers-handbook/book.adoc +++ b/documentation/content/zh-tw/books/developers-handbook/book.adoc @@ -73,10 +73,6 @@ include::{chapters-path}partiii.adoc[] include::{chapters-path}kernelbuild/_index.adoc[leveloffset=+1] include::{chapters-path}kerneldebug/_index.adoc[leveloffset=+1] -// Section four -include::{chapters-path}partiv.adoc[] -include::{chapters-path}x86/_index.adoc[leveloffset=+1] - // Appendices -include::{chapters-path}partv.adoc[] +include::{chapters-path}partiv.adoc[] include::{chapters-path}bibliography/_index.adoc[leveloffset=+1] diff --git a/documentation/content/zh-tw/books/developers-handbook/partiv.adoc b/documentation/content/zh-tw/books/developers-handbook/partiv.adoc index 36af2fb312..61faa8a6d9 100644 --- a/documentation/content/zh-tw/books/developers-handbook/partiv.adoc +++ b/documentation/content/zh-tw/books/developers-handbook/partiv.adoc @@ -1,12 +1,12 @@ --- title: Part IV. Architekturen prev: books/developers-handbook/kerneldebug -next: books/developers-handbook/x86 +next: books/developers-handbook/bibliography showBookMenu: true weight: 14 params: path: "/books/developers-handbook/partiv/" --- -[[architectures]] -= Architectures(電腦架構) +[[appendices]] += Appendices diff --git a/documentation/content/zh-tw/books/developers-handbook/partv.adoc b/documentation/content/zh-tw/books/developers-handbook/partv.adoc deleted file mode 100644 index 243de5dda1..0000000000 --- a/documentation/content/zh-tw/books/developers-handbook/partv.adoc +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Part V. Appendices -prev: books/developers-handbook/x86 -next: books/developers-handbook/bibliography -showBookMenu: true -weight: 16 -params: - path: "/books/developers-handbook/partv/" ---- - -[[appendices]] -= Appendices From nobody Tue May 19 14:25:11 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gKcQJ1jTZz6fGxH for ; Tue, 19 May 2026 14:25:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gKcQJ0h6zz3pRm for ; Tue, 19 May 2026 14:25:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779200712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N9K0SzMhtP+AOY3LszSQQ2LRxzMa3lXEHBWk2UjmAAA=; b=pVOLhNeubjjcwJSp6gHfIqV9dSgn5WrgEdiEZ+LUqoOE5w+LHrd+1oDd4s6kMowGjSjJzL Iol7ko3OUJLishUz+OAvlu+Ld64I8nIxjdm8gb0N0CWJsqEh+fdVbSayybJiE71uBpRsVp LP4/NsQHCMkPJR4N9rtql45WwexUkg/Z7BWlnGptK3i0dj13KubJO0Cv7vMnWJZOqmQih0 LihZKI5RHNcBkAjYSgE4QipxGUiOHcVKnzejQJHtC1xxXoCJlZ2azrBVbRJbBE60hGE2cF CXKIYmccd3AdkrG7udp67+bjKH7/Lw6OyuV4tcbeKy8X6s2SU8fni8lgUlMgug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779200712; a=rsa-sha256; cv=none; b=VieBTlYGfUNTn9KcI/VqBug++X5tvNO1Q5ybVeDYa1GOfylWxjLQbELbAwT7u+7zwUJW7D LAHoe1Dpejx+S0PYwR76mVPfc9SIRNlbdlOQwFMJ4fZ9GLIcw6v4qUNEvBqrfkitKSZe9J xJwXRyciDkxBZdlPIt2iSLhkI4swjtoSbai6UgUCsgZM7sC6A6A5vK463PJ1O4OCSohiq3 d0sWhB4efXdnrsQaEiX/2U7EMY6zFeCYi2U4Cw+RQH77NI37J0xqdo5OyNpMjbET5v2Tl/ lV0lFJYhJdGOoNV6+IvRchtzS400lFBuKfkHPp56oJE9Tc1rqYbhLWzT2PrD5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779200712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N9K0SzMhtP+AOY3LszSQQ2LRxzMa3lXEHBWk2UjmAAA=; b=Qj78+zqZ0OgZ11ym8IiVI5JREjBvGooViNLj7hqnHf0MJuHQTNB+rvDhX/ySXIPSmVdpPp uMZzzyi3Gra+8rO5fZPwAyT0XHewIsPvouBu548xBP9jMehD8HX4TqvXcdUCpQ8NOtA2EM H0ugbjASyLe+IXMNVqHTI4if979+3GFgyKqqAGGHqGEWi6AIPc7+tS7gIDLizIwY0yop/9 4+/jsmVrfODvZXeHhXLuse2/hKblHAUOHtI3JnjwqzoIMX1b0c3msK01yD2OgvgSBc5g6/ ave3jr7KzaTGnM555qYcCv9E3AqD3OkJ/eDNnWJl+cIfdt+sBtq2Cr5R/rQd5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gKcQJ034Xz3Gv for ; Tue, 19 May 2026 14:25:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d5c8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 19 May 2026 14:25:11 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Mitchell Horne Subject: git: d2fc711c48 - main - x86-assembly: fix broken links List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2fc711c48632332e555e88689d6c911f8c6fd38 Auto-Submitted: auto-generated Date: Tue, 19 May 2026 14:25:11 +0000 Message-Id: <6a0c72c7.3d5c8.3c5137e2@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/doc/commit/?id=d2fc711c48632332e555e88689d6c911f8c6fd38 commit d2fc711c48632332e555e88689d6c911f8c6fd38 Author: Mitchell Horne AuthorDate: 2026-05-19 14:16:48 +0000 Commit: Mitchell Horne CommitDate: 2026-05-19 14:16:48 +0000 x86-assembly: fix broken links - For pages on the author's website (no longer active), use archive.org links - For the textbook referenced, just give the title - Use the 'link' macro everywhere Reviewed by: 0mp, emaste (previous version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45963 --- documentation/content/en/articles/x86-assembly/_index.adoc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/documentation/content/en/articles/x86-assembly/_index.adoc b/documentation/content/en/articles/x86-assembly/_index.adoc index b14d045530..cdb225d9a4 100644 --- a/documentation/content/en/articles/x86-assembly/_index.adoc +++ b/documentation/content/en/articles/x86-assembly/_index.adoc @@ -1398,7 +1398,9 @@ But I thought it would be more interesting to write a simple assembly language C [[x86-cgi]] ==== CGI: a Quick Overview -I have a http://www.whizkidtech.redprince.net/cgi-bin/tutorial[detailed CGI tutorial] on my web site, but here is a very quick overview of CGI: +I have a +link:https://web.archive.org/web/20230612082452/http://www.whizkidtech.redprince.net/cgi-bin/tutorial[detailed CGI tutorial] +on my web site, but here is a very quick overview of CGI: * The web server communicates with the CGI program by setting _environment variables_. * The CGI program sends its output to [.filename]#stdout#. The web server reads it from there. @@ -1620,8 +1622,8 @@ To use it, you need to upload [.filename]#webvars# to your web server. Depending on how your web server is set up, you may have to store it in a special [.filename]#cgi-bin# directory, or perhaps rename it with a [.filename]#.cgi# extension. Then you need to use your browser to view its output. -To see its output on my web server, please go to http://www.int80h.org/webvars/[http://www.int80h.org/webvars/]. -If curious about the additional environment variables present in a password protected web directory, go to http://www.int80h.org/private/[http://www.int80h.org/private/], using the name `asm` and password `programmer`. +To see its output on my web server, please go to +link:https://web.archive.org/web/20100818031015/http://www.int80h.org/webvars/[http://www.int80h.org/webvars]. [[x86-files]] == Working with Files @@ -1839,7 +1841,7 @@ When we are finished working with a memory-mapped file, we unmap it with the `mu [TIP] ==== -For an in-depth treatment of `mmap`, see W. Richard Stevens' http://www.int80h.org/cgi-bin/isbn?isbn=0130810819[Unix Network Programming, Volume 2, Chapter 12]. +For an in-depth treatment of `mmap`, see W. Richard Stevens' _Unix Network Programming_, Volume 2, Chapter 12. ==== [[x86-file-size]] @@ -4278,7 +4280,7 @@ Of course, creative people often break rules, and it is OK as long as they know This tutorial would never have been possible without the help of many experienced FreeBSD programmers from the {freebsd-hackers}, many of whom have patiently answered my questions, and pointed me in the right direction in my attempts to explore the inner workings of UNIX system programming in general and FreeBSD in particular. Thomas M. Sommers opened the door for me. -His https://web.archive.org/web/20090914064615/http://www.codebreakers-journal.com/content/view/262/27[How do I write "Hello, world" in FreeBSD assembler?] web page was my first encounter with an example of assembly language programming under FreeBSD. +His link:https://web.archive.org/web/20090914064615/http://www.codebreakers-journal.com/content/view/262/27[How do I write "Hello, world" in FreeBSD assembler?] web page was my first encounter with an example of assembly language programming under FreeBSD. Jake Burkholder has kept the door open by willingly answering all of my questions and supplying me with example assembly language source code. From nobody Tue May 19 14:25:13 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gKcQK2lmyz6fGrW for ; Tue, 19 May 2026 14:25:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gKcQK1dW3z3pgm for ; Tue, 19 May 2026 14:25:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779200713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MUKBU2OOHbB0x66WXPnjipvjwR/T++23XrXWJAr8D54=; b=u/flhoNmI9VN33S3DIZaQ/H4l8BReahQjAXVUUVcni1zitrqpylfohC9J4E0qsiNPxllvF ciOr7/UNWxu7eRKwO7lQ/CMwVT76I486BkrNqG5s6858NEboaYyMrPXhpm+ltXOGZThwCu EnvFghPL5YeN6jJZdI2XKwBwtTWZ8eUPxIvpI2/xhBNvZb5w1N4+wK/5IBiELon5e9AHVr cSHSSKvYW53cpeuFDOU3hCVDUwrncrOWPzvxmCvGAFo77pNVt+6+FJ9Dbni/ilGW88GtGe hqmtWJDNeKrs/Tb8Hm3SE3GNY/+NDQATsqOzg5EOUN6pdEffRqsLB9GC4+d2lw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779200713; a=rsa-sha256; cv=none; b=S4PXAjRQVFjbpl9P2bvDhXhg3TwGqRHl05Ewx6Y/DhCg1B2elK7mWIgDWcZuGuj5w9zMlN h0Cf2V92QyHURXEkElr9xDLNhN72f27sM53CgRNUj+LUFaHzfENITNlw0xd+oK2LPMk3qW LDj/nzR9owI7IUrICBmGSXSi6hJyVMetx9xzAb9YIBzQWlQIcGkx0zZrngzr/snYjtNGVG 3znnI5kTs368XQ/SBc1LL/Jpce9DPpvobpdnKCnHvN2weHzKlquFsBHBDWOmYjuRAEp7pX Z8wgsaksO1hP3YJeSmdp914KzWnfS8T9nxmoube0HPFr22nKzgJvO2FfVGm7Ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779200713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MUKBU2OOHbB0x66WXPnjipvjwR/T++23XrXWJAr8D54=; b=Hsgl9x+Y23gq1zFMWsfehw4zJ8hbqdLq2IRqzdKulYl0ZU1te0u8bhG6U1l9qP1tNB8AST ta6I5MAxQee4UO+G1NwqmohctLSsrzz4RxRYVTp2DQJbSZI+pX+52YPiCpHCxNmlL1CV1Q smu8CXdiD3r1XvVmuKxglTyxYVC8qD2UGxBBrHRCKmp6kdkCZKCVJq9/syC6HkDZOJf1rn k0MGvouy9ddIlCu4265BRUJiacvc8HNlIIv/IhM4yCDruwPz33wGyUlZVpPo6a3+mElUsy Zd154cbPuaQC3f8dA+EjXEx/BmG9E5IWLmFnDFJCfxdXq/CWIBdPTAqx2IUIbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gKcQK18Yxz3Sh for ; Tue, 19 May 2026 14:25:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e413 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 19 May 2026 14:25:13 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Mitchell Horne Subject: git: fdab2c3455 - main - x86-assembly: generate/update .po files List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fdab2c3455cbb38fecf8e506fecd71eabd1a7589 Auto-Submitted: auto-generated Date: Tue, 19 May 2026 14:25:13 +0000 Message-Id: <6a0c72c9.3e413.27097384@gitrepo.freebsd.org> The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/doc/commit/?id=fdab2c3455cbb38fecf8e506fecd71eabd1a7589 commit fdab2c3455cbb38fecf8e506fecd71eabd1a7589 Author: Mitchell Horne AuthorDate: 2026-05-19 14:17:02 +0000 Commit: Mitchell Horne CommitDate: 2026-05-19 14:17:02 +0000 x86-assembly: generate/update .po files Following the move of this chapter to a separate article. I ran `tools/update_translate_template.sh` and discarded the irrelevant changes. Discussed with: ziaee, carlavilla Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56430 --- .../x86 => articles/x86-assembly}/_index.po | 2405 ++++++++++---------- .../content/en/books/developers-handbook/partiv.po | 6 +- 2 files changed, 1184 insertions(+), 1227 deletions(-) diff --git a/documentation/content/en/books/developers-handbook/x86/_index.po b/documentation/content/en/articles/x86-assembly/_index.po similarity index 65% rename from documentation/content/en/books/developers-handbook/x86/_index.po rename to documentation/content/en/articles/x86-assembly/_index.po index 6adffa071b..bd310c6c2f 100644 --- a/documentation/content/en/books/developers-handbook/x86/_index.po +++ b/documentation/content/en/articles/x86-assembly/_index.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-11-08 16:17+0000\n" +"POT-Creation-Date: 2026-05-19 11:05-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,159 +16,167 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#. type: Title = -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:15 +#. type: YAML Front Matter: description +#: documentation/content/en/articles/x86-assembly/_index.adoc:1 #, no-wrap -msgid "x86 Assembly Language Programming" +msgid "A tutorial on writing programs for FreeBSD in x86 assembly language" msgstr "" -#. type: YAML Front Matter: title -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:1 +#. type: Title = +#: documentation/content/en/articles/x86-assembly/_index.adoc:1 +#: documentation/content/en/articles/x86-assembly/_index.adoc:11 #, no-wrap -msgid "Chapter 11. x86 Assembly Language Programming" +msgid "x86 Assembly Language Programming" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:53 -msgid "_This chapter was written by {stanislav}._" +#: documentation/content/en/articles/x86-assembly/_index.adoc:46 +msgid "" +"_This article was written by {stanislav} (2001), and adjusted by {mhorne} " +"(2026)._" +msgstr "" + +#. type: delimited block = 4 +#: documentation/content/en/articles/x86-assembly/_index.adoc:50 +msgid "The content in this article is historical." msgstr "" #. type: Title == -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:55 +#: documentation/content/en/articles/x86-assembly/_index.adoc:53 #, no-wrap msgid "Synopsis" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:59 +#: documentation/content/en/articles/x86-assembly/_index.adoc:57 msgid "" "Assembly language programming under UNIX(R) is highly undocumented. It is " -"generally assumed that no one would ever want to use it because various " -"UNIX(R) systems run on different microprocessors, so everything should be " -"written in C for portability." +"generally assumed that no one would ever want to use it because various UNIX " +"systems run on different microprocessors, so everything should be written in " +"C for portability." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:63 +#: documentation/content/en/articles/x86-assembly/_index.adoc:61 msgid "" "In reality, C portability is quite a myth. Even C programs need to be " -"modified when ported from one UNIX(R) to another, regardless of what " -"processor each runs on. Typically, such a program is full of conditional " -"statements depending on the system it is compiled for." +"modified when ported from one UNIX to another, regardless of what processor " +"each runs on. Typically, such a program is full of conditional statements " +"depending on the system it is compiled for." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:65 +#: documentation/content/en/articles/x86-assembly/_index.adoc:63 msgid "" -"Even if we believe that all of UNIX(R) software should be written in C, or " -"some other high-level language, we still need assembly language programmers: " -"Who else would write the section of C library that accesses the kernel?" +"Even if we believe that all of UNIX software should be written in C, or some " +"other high-level language, we still need assembly language programmers: Who " +"else would write the section of C library that accesses the kernel?" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:67 +#: documentation/content/en/articles/x86-assembly/_index.adoc:65 msgid "" -"In this chapter I will attempt to show you how you can use assembly language " -"writing UNIX(R) programs, specifically under FreeBSD." +"In this article I will attempt to show you how you can use assembly language " +"writing UNIX programs, specifically under FreeBSD." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:72 +#: documentation/content/en/articles/x86-assembly/_index.adoc:70 msgid "" -"This chapter does not explain the basics of assembly language. There are " +"This article does not explain the basics of assembly language. There are " "enough resources about that (for a complete online course in assembly " "language, see Randall Hyde's http://webster.cs.ucr.edu/[Art of Assembly " "Language]; or if you prefer a printed book, take a look at Jeff Duntemann's " "Assembly Language Step-by-Step (ISBN: 0471375233). However, once the " -"chapter is finished, any assembly language programmer will be able to write " +"article is finished, any assembly language programmer will be able to write " "programs for FreeBSD quickly and efficiently." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:74 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:4311 +#: documentation/content/en/articles/x86-assembly/_index.adoc:72 +#: documentation/content/en/articles/x86-assembly/_index.adoc:4287 msgid "Copyright (R) 2000-2001 G. Adam Stanislav. All rights reserved." msgstr "" #. type: Title == -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:76 +#: documentation/content/en/articles/x86-assembly/_index.adoc:74 #, no-wrap msgid "The Tools" msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:79 +#: documentation/content/en/articles/x86-assembly/_index.adoc:77 #, no-wrap msgid "The Assembler" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:82 +#: documentation/content/en/articles/x86-assembly/_index.adoc:81 msgid "" "The most important tool for assembly language programming is the assembler, " -"the software that converts assembly language code into machine language." +"the software that converts assembly language code into machine language. " +"Two very different types of assemblers are available for FreeBSD." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:85 +#: documentation/content/en/articles/x86-assembly/_index.adoc:84 msgid "" -"Three very different assemblers are available for FreeBSD. Both man:llvm-" -"as[1] (included in package:devel/llvm[]) and man:as[1] (included in " -"package:devel/binutils[]) use the traditional UNIX(R) assembly language " -"syntax." +"The first is the GNU man:as[1] (package:devel/binutils[]), which uses the " +"traditional UNIX assembly language syntax. Alternatively, one can use " +"man:clang[1], which is a compatible replacement for the GNU assembler and " +"comes with the system." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:88 +#: documentation/content/en/articles/x86-assembly/_index.adoc:87 msgid "" -"On the other hand, man:nasm[1] (installed through package:devel/nasm[]) uses " -"the Intel syntax. Its main advantage is that it can assemble code for many " +"The other is man:nasm[1] (package:devel/nasm[]). This assembler uses the " +"Intel syntax, and its main advantage is that it can assemble code for many " "operating systems." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:91 +#: documentation/content/en/articles/x86-assembly/_index.adoc:90 msgid "" -"This chapter uses nasm syntax because most assembly language programmers " +"This article uses nasm syntax because most assembly language programmers " "coming to FreeBSD from other operating systems will find it easier to " "understand. And, because, quite frankly, that is what I am used to." msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:93 +#: documentation/content/en/articles/x86-assembly/_index.adoc:92 #, no-wrap msgid "The Linker" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:96 +#: documentation/content/en/articles/x86-assembly/_index.adoc:95 msgid "" "The output of the assembler, like that of any compiler, needs to be linked " "to form an executable file." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:99 +#: documentation/content/en/articles/x86-assembly/_index.adoc:98 msgid "" "The standard man:ld[1] linker comes with FreeBSD. It works with the code " "assembled with either assembler." msgstr "" #. type: Title == -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:101 +#: documentation/content/en/articles/x86-assembly/_index.adoc:100 #, no-wrap msgid "System Calls" msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:104 +#: documentation/content/en/articles/x86-assembly/_index.adoc:103 #, no-wrap msgid "Default Calling Convention" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:108 +#: documentation/content/en/articles/x86-assembly/_index.adoc:107 msgid "" "By default, the FreeBSD kernel uses the C calling convention. Further, " "although the kernel is accessed using `int 80h`, it is assumed the program " @@ -177,22 +185,22 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:111 +#: documentation/content/en/articles/x86-assembly/_index.adoc:110 msgid "" "This convention is very convenient, and quite superior to the Microsoft(R) " -"convention used by MS-DOS(R). Why? Because the UNIX(R) convention allows " -"any program written in any language to access the kernel." +"convention used by MS-DOS(R). Why? Because the UNIX convention allows any " +"program written in any language to access the kernel." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:114 +#: documentation/content/en/articles/x86-assembly/_index.adoc:113 msgid "" "An assembly language program can do that as well. For example, we could " "open a file:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:120 +#: documentation/content/en/articles/x86-assembly/_index.adoc:119 #, no-wrap msgid "" "kernel:\n" @@ -201,7 +209,7 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:129 +#: documentation/content/en/articles/x86-assembly/_index.adoc:128 #, no-wrap msgid "" "open:\n" @@ -215,15 +223,15 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:133 +#: documentation/content/en/articles/x86-assembly/_index.adoc:132 msgid "" "This is a very clean and portable way of coding. If you need to port the " -"code to a UNIX(R) system which uses a different interrupt, or a different " -"way of passing parameters, all you need to change is the kernel procedure." +"code to a UNIX system which uses a different interrupt, or a different way " +"of passing parameters, all you need to change is the kernel procedure." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:137 +#: documentation/content/en/articles/x86-assembly/_index.adoc:136 msgid "" "But assembly language programmers like to shave off cycles. The above " "example requires a `call/ret` combination. We can eliminate it by " @@ -231,7 +239,7 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:148 +#: documentation/content/en/articles/x86-assembly/_index.adoc:147 #, no-wrap msgid "" "open:\n" @@ -245,38 +253,37 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:151 +#: documentation/content/en/articles/x86-assembly/_index.adoc:150 msgid "" "The `5` that we have placed in `EAX` identifies the kernel function, in this " "case `open`." msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:153 +#: documentation/content/en/articles/x86-assembly/_index.adoc:152 #, no-wrap msgid "Alternate Calling Convention" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:158 +#: documentation/content/en/articles/x86-assembly/_index.adoc:157 msgid "" "FreeBSD is an extremely flexible system. It offers other ways of calling " -"the kernel. For it to work, however, the system must have Linux emulation " -"installed." +"the kernel. For it to work, however, the system must have Linux(R) " +"emulation installed." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:163 +#: documentation/content/en/articles/x86-assembly/_index.adoc:162 msgid "" -"Linux is a UNIX(R) like system. However, its kernel uses the same system-" -"call convention of passing parameters in registers MS-DOS(R) does. As with " -"the UNIX(R) convention, the function number is placed in `EAX`. The " -"parameters, however, are not passed on the stack but in `EBX, ECX, EDX, ESI, " -"EDI, EBP`:" +"Linux is a UNIX-like system. However, its kernel uses the same system-call " +"convention of passing parameters in registers MS-DOS does. As with the UNIX " +"convention, the function number is placed in `EAX`. The parameters, " +"however, are not passed on the stack but in `EBX, ECX, EDX, ESI, EDI, EBP`:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:172 +#: documentation/content/en/articles/x86-assembly/_index.adoc:171 #, no-wrap msgid "" "open:\n" @@ -288,7 +295,7 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:178 +#: documentation/content/en/articles/x86-assembly/_index.adoc:177 msgid "" "This convention has a great disadvantage over the UNIX(R) way, at least as " "far as assembly language programming is concerned: Every time you make a " @@ -298,7 +305,7 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:181 +#: documentation/content/en/articles/x86-assembly/_index.adoc:180 msgid "" "If you do choose the Linux convention, you must let the system know about " "it. After your program is assembled and linked, you need to brand the " @@ -306,28 +313,28 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:185 +#: documentation/content/en/articles/x86-assembly/_index.adoc:184 #, no-wrap msgid "% brandelf -t Linux filename\n" msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:188 +#: documentation/content/en/articles/x86-assembly/_index.adoc:187 #, no-wrap msgid "Which Convention Should You Use?" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:193 +#: documentation/content/en/articles/x86-assembly/_index.adoc:192 msgid "" -"If you are coding specifically for FreeBSD, you should always use the " -"UNIX(R) convention: It is faster, you can store global variables in " -"registers, you do not have to brand the executable, and you do not impose " -"the installation of the Linux emulation package on the target system." +"If you are coding specifically for FreeBSD, you should always use the UNIX " +"convention: It is faster, you can store global variables in registers, you " +"do not have to brand the executable, and you do not impose the installation " +"of the Linux emulation package on the target system." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:196 +#: documentation/content/en/articles/x86-assembly/_index.adoc:195 msgid "" "If you want to create portable code that can also run on Linux, you will " "probably still want to give the FreeBSD users as efficient a code as " @@ -336,26 +343,26 @@ msgid "" msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:198 +#: documentation/content/en/articles/x86-assembly/_index.adoc:197 #, no-wrap msgid "Call Numbers" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:202 +#: documentation/content/en/articles/x86-assembly/_index.adoc:201 msgid "" "To tell the kernel which system service you are calling, place its number in " "`EAX`. Of course, you need to know what the number is." msgstr "" #. type: Title ==== -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:204 +#: documentation/content/en/articles/x86-assembly/_index.adoc:203 #, no-wrap msgid "The [.filename]#syscalls# File" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:208 +#: documentation/content/en/articles/x86-assembly/_index.adoc:207 msgid "" "The numbers are listed in [.filename]#syscalls#. `locate syscalls` finds " "this file in several different formats, all produced automatically from " @@ -363,28 +370,28 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:211 +#: documentation/content/en/articles/x86-assembly/_index.adoc:210 msgid "" -"You can find the master file for the default UNIX(R) calling convention in " +"You can find the master file for the default UNIX calling convention in " "[.filename]#/usr/src/sys/kern/syscalls.master#. If you need to use the " "other convention implemented in the Linux emulation mode, read [.filename]#/" "usr/src/sys/i386/linux/syscalls.master#." msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:215 +#: documentation/content/en/articles/x86-assembly/_index.adoc:214 msgid "" "Not only do FreeBSD and Linux use different calling conventions, they " "sometimes use different numbers for the same functions." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:218 +#: documentation/content/en/articles/x86-assembly/_index.adoc:217 msgid "[.filename]#syscalls.master# describes how the call is to be made:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:229 +#: documentation/content/en/articles/x86-assembly/_index.adoc:228 #, no-wrap msgid "" "0\tSTD\tNOHIDE\t{ int nosys(void); } syscall nosys_args int\n" @@ -398,32 +405,32 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:232 +#: documentation/content/en/articles/x86-assembly/_index.adoc:231 msgid "It is the leftmost column that tells us the number to place in `EAX`." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:235 +#: documentation/content/en/articles/x86-assembly/_index.adoc:234 msgid "" "The rightmost column tells us what parameters to `push`. They are " "``push``ed _from right to left_." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:237 +#: documentation/content/en/articles/x86-assembly/_index.adoc:236 msgid "" "For example, to `open` a file, we need to `push` the `mode` first, then " "`flags`, then the address at which the `path` is stored." msgstr "" #. type: Title == -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:239 +#: documentation/content/en/articles/x86-assembly/_index.adoc:238 #, no-wrap msgid "Return Values" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:243 +#: documentation/content/en/articles/x86-assembly/_index.adoc:242 msgid "" "A system call would not be useful most of the time if it did not return some " "kind of a value: The file descriptor of an open file, the number of bytes " @@ -431,7 +438,7 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:246 +#: documentation/content/en/articles/x86-assembly/_index.adoc:245 msgid "" "Additionally, the system needs to inform us if an error occurs: A file does " "not exist, system resources are exhausted, we passed an invalid parameter, " @@ -439,26 +446,26 @@ msgid "" msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:248 +#: documentation/content/en/articles/x86-assembly/_index.adoc:247 #, no-wrap msgid "Man Pages" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:252 +#: documentation/content/en/articles/x86-assembly/_index.adoc:251 msgid "" "The traditional place to look for information about various system calls " -"under UNIX(R) systems are the manual pages. FreeBSD describes its system " -"calls in section 2, sometimes in section 3." +"under UNIX systems are the manual pages. FreeBSD describes its system calls " +"in section 2, sometimes in section 3." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:254 +#: documentation/content/en/articles/x86-assembly/_index.adoc:253 msgid "For example, man:open[2] says:" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:258 +#: documentation/content/en/articles/x86-assembly/_index.adoc:257 msgid "" "If successful, `open()` returns a non-negative integer, termed a file " "descriptor. It returns `-1` on failure, and sets `errno` to indicate the " @@ -466,27 +473,27 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:260 +#: documentation/content/en/articles/x86-assembly/_index.adoc:259 msgid "" -"The assembly language programmer new to UNIX(R) and FreeBSD will immediately " +"The assembly language programmer new to UNIX and FreeBSD will immediately " "ask the puzzling question: Where is `errno` and how do I get to it?" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:265 +#: documentation/content/en/articles/x86-assembly/_index.adoc:264 msgid "" "The information presented in the manual pages applies to C programs. The " "assembly language programmer needs additional information." msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:268 +#: documentation/content/en/articles/x86-assembly/_index.adoc:267 #, no-wrap msgid "Where Are the Return Values?" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:273 +#: documentation/content/en/articles/x86-assembly/_index.adoc:272 msgid "" "Unfortunately, it depends... For most system calls it is in `EAX`, but not " "for all. A good rule of thumb, when working with a system call for the " @@ -495,7 +502,7 @@ msgid "" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:279 +#: documentation/content/en/articles/x86-assembly/_index.adoc:278 msgid "" "I am aware of one system call that returns the value in `EDX`: `SYS_fork`. " "All others I have worked with use `EAX`. But I have not worked with them " @@ -503,33 +510,33 @@ msgid "" msgstr "" #. type: delimited block = 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:284 +#: documentation/content/en/articles/x86-assembly/_index.adoc:283 msgid "" "If you cannot find the answer here or anywhere else, study libc source code " "and see how it interfaces with the kernel." msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:287 +#: documentation/content/en/articles/x86-assembly/_index.adoc:286 #, no-wrap msgid "Where Is `errno`?" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:290 +#: documentation/content/en/articles/x86-assembly/_index.adoc:289 msgid "Actually, nowhere..." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:293 +#: documentation/content/en/articles/x86-assembly/_index.adoc:292 msgid "" -"`errno` is part of the C language, not the UNIX(R) kernel. When accessing " +"`errno` is part of the C language, not the UNIX kernel. When accessing " "kernel services directly, the error code is returned in `EAX`, the same " "register the proper return value generally ends up in." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:297 +#: documentation/content/en/articles/x86-assembly/_index.adoc:296 msgid "" "This makes perfect sense. If there is no error, there is no error code. If " "there is an error, there is no return value. One register can contain " @@ -537,20 +544,20 @@ msgid "" msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:299 +#: documentation/content/en/articles/x86-assembly/_index.adoc:298 #, no-wrap msgid "Determining an Error Occurred" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:302 +#: documentation/content/en/articles/x86-assembly/_index.adoc:301 msgid "" "When using the standard FreeBSD calling convention, the `carry flag` is " "cleared upon success, set upon failure." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:305 +#: documentation/content/en/articles/x86-assembly/_index.adoc:304 msgid "" "When using the Linux emulation mode, the signed value in `EAX` is non-" "negative upon success, and contains the return value. In case of an error, " @@ -558,13 +565,13 @@ msgid "" msgstr "" #. type: Title == -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:307 +#: documentation/content/en/articles/x86-assembly/_index.adoc:306 #, no-wrap msgid "Creating Portable Code" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:312 +#: documentation/content/en/articles/x86-assembly/_index.adoc:311 msgid "" "Portability is generally not one of the strengths of assembly language. " "Yet, writing assembly language programs for different platforms is possible, " @@ -573,29 +580,29 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:314 +#: documentation/content/en/articles/x86-assembly/_index.adoc:313 msgid "" "It is all the more possible when you want your code to run on two platforms " "which, while different, are based on similar architectures." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:318 +#: documentation/content/en/articles/x86-assembly/_index.adoc:317 msgid "" -"For example, FreeBSD is UNIX(R), Linux is UNIX(R) like. I only mentioned " -"three differences between them (from an assembly language programmer's " +"For example, FreeBSD is UNIX, Linux is UNIX-like. I only mentioned three " +"differences between them (from an assembly language programmer's " "perspective): The calling convention, the function numbers, and the way of " "returning values." msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:320 +#: documentation/content/en/articles/x86-assembly/_index.adoc:319 #, no-wrap msgid "Dealing with Function Numbers" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:325 +#: documentation/content/en/articles/x86-assembly/_index.adoc:324 msgid "" "In many cases the function numbers are the same. However, even when they " "are not, the problem is easy to deal with: Instead of using numbers in your " @@ -604,7 +611,7 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:333 +#: documentation/content/en/articles/x86-assembly/_index.adoc:332 #, no-wrap msgid "" "%ifdef\tLINUX\n" @@ -615,26 +622,26 @@ msgid "" msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:336 +#: documentation/content/en/articles/x86-assembly/_index.adoc:335 #, no-wrap msgid "Dealing with Conventions" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:339 +#: documentation/content/en/articles/x86-assembly/_index.adoc:338 msgid "" "Both, the calling convention, and the return value (the `errno` problem) can " "be resolved with macros:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:343 +#: documentation/content/en/articles/x86-assembly/_index.adoc:342 #, no-wrap msgid "%ifdef\tLINUX\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:347 +#: documentation/content/en/articles/x86-assembly/_index.adoc:346 #, no-wrap msgid "" "%macro\tsystem\t0\n" @@ -643,7 +650,7 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:356 +#: documentation/content/en/articles/x86-assembly/_index.adoc:355 #, no-wrap msgid "" "align 4\n" @@ -657,7 +664,7 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:363 +#: documentation/content/en/articles/x86-assembly/_index.adoc:362 #, no-wrap msgid "" "\tmov\tebx, [esp+32]\n" @@ -669,7 +676,7 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:370 +#: documentation/content/en/articles/x86-assembly/_index.adoc:369 #, no-wrap msgid "" "\tpop\tebp\n" @@ -681,7 +688,7 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:375 +#: documentation/content/en/articles/x86-assembly/_index.adoc:374 #, no-wrap msgid "" "\tor\teax, eax\n" @@ -691,7 +698,7 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:380 +#: documentation/content/en/articles/x86-assembly/_index.adoc:379 #, no-wrap msgid "" ".errno:\n" @@ -701,13 +708,13 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:382 +#: documentation/content/en/articles/x86-assembly/_index.adoc:381 #, no-wrap msgid "%else\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:386 +#: documentation/content/en/articles/x86-assembly/_index.adoc:385 #, no-wrap msgid "" "%macro\tsystem\t0\n" @@ -716,19 +723,19 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:388 +#: documentation/content/en/articles/x86-assembly/_index.adoc:387 #, no-wrap msgid "%endif\n" msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:391 +#: documentation/content/en/articles/x86-assembly/_index.adoc:390 #, no-wrap msgid "Dealing with Other Portability Issues" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:395 +#: documentation/content/en/articles/x86-assembly/_index.adoc:394 msgid "" "The above solutions can handle most cases of writing code portable between " "FreeBSD and Linux. Nevertheless, with some kernel services the differences " @@ -736,7 +743,7 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:398 +#: documentation/content/en/articles/x86-assembly/_index.adoc:397 msgid "" "In that case, you need to write two different handlers for those particular " "system calls, and use conditional assembly. Luckily, most of your code does " @@ -745,13 +752,13 @@ msgid "" msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:400 +#: documentation/content/en/articles/x86-assembly/_index.adoc:399 #, no-wrap msgid "Using a Library" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:404 +#: documentation/content/en/articles/x86-assembly/_index.adoc:403 msgid "" "You can avoid portability issues in your main code altogether by writing a " "library of system calls. Create a separate library for FreeBSD, a different " @@ -759,7 +766,7 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:409 +#: documentation/content/en/articles/x86-assembly/_index.adoc:408 msgid "" "In your library, write a separate function (or procedure, if you prefer the " "traditional assembly language terminology) for each system call. Use the C " @@ -769,7 +776,7 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:417 +#: documentation/content/en/articles/x86-assembly/_index.adoc:416 #, no-wrap msgid "" "sys.open:\n" @@ -780,14 +787,14 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:421 +#: documentation/content/en/articles/x86-assembly/_index.adoc:420 msgid "" "Your Linux library will require more different functions. But even here you " "can group system calls using the same number of parameters:" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:432 +#: documentation/content/en/articles/x86-assembly/_index.adoc:431 #, no-wrap msgid "" "sys.exit:\n" @@ -801,13 +808,13 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:434 +#: documentation/content/en/articles/x86-assembly/_index.adoc:433 #, no-wrap msgid "...\n" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:440 +#: documentation/content/en/articles/x86-assembly/_index.adoc:439 #, no-wrap msgid "" "sys.return:\n" @@ -818,7 +825,7 @@ msgid "" msgstr "" #. type: delimited block . 4 -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:445 +#: documentation/content/en/articles/x86-assembly/_index.adoc:444 #, no-wrap msgid "" "sys.err:\n" @@ -828,7 +835,7 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:452 +#: documentation/content/en/articles/x86-assembly/_index.adoc:451 msgid "" "The library approach may seem inconvenient at first because it requires you " "to produce a separate file your code depends on. But it has many " @@ -841,7 +848,7 @@ msgid "" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:454 +#: documentation/content/en/articles/x86-assembly/_index.adoc:453 msgid "" "If you do not like the idea of having a library, you can at least place all " "your system calls in a separate assembly language file and link it with your " @@ -850,20 +857,20 @@ msgid "" msgstr "" #. type: Title === -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:456 +#: documentation/content/en/articles/x86-assembly/_index.adoc:455 #, no-wrap msgid "Using an Include File" msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:459 +#: documentation/content/en/articles/x86-assembly/_index.adoc:458 msgid "" "If you are releasing your software as (or with) source code, you can use " "macros and place them in a separate file, which you include in your code." msgstr "" #. type: Plain text -#: documentation/content/en/books/developers-handbook/x86/_index.adoc:462 +#: documentation/content/en/articles/x86-assembly/_index.adoc:461 msgid "" "Porters of your software will simply write a new include file. No library " "or external object file is necessary, yet your code is portable without any " @@ -871,22 +878,22 @@ msgid "" msgstr "" *** 7210 LINES SKIPPED *** From nobody Tue May 19 16:07:05 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gKfgy3Kg8z6fPgh for ; Tue, 19 May 2026 16:07:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gKfgy1hwgz460N for ; Tue, 19 May 2026 16:07:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779206830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tEhVO1fw8h8Ro1wsoQpl2EepLwniefiWqcdCU/XHvsk=; b=sJk5VezeS/cVSLtakDsU2DCaPYjTzu0EIBqLzfbqJIrMdiTe9C5N2WuHc6mcQhnhSlzEtN 3iTfokm+l8KAorGo6ahbOg2UKpV0S1AMpT+lg6PZLwcxwbt1FBNHSuCR5JyTa42wbWzZks az+akkoQNXgyFcHqbEMESX9blLCXUXlKNMoxPlJwO7UpYU46emkLRLldkiEevyktvo8vuS auXpb/6IrHJ/S1VRpPYNYC+6jDwtHvxsfUmNYmDalGJyLjAw7BILAPc1D1vex+tXTYOJQa /TtqmfpfBhpzOix7gMd37OLjW5ZZT2cLCPyAHKDqJXo7yXElgoTZG2pRzE7eWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779206830; a=rsa-sha256; cv=none; b=ii2les0SWYhh0hz+yNWpekZ9i0pnbPrI0fquFeiK0IbcwjqXY1zFMC6hlyluFyoWqUxokG f7sxmlCysSYMCaY6kf1GfvB4YXoZnT9CadNk1+IljYxbpO89oTGR0YaV+hyPp31RF/SoL/ CTDcASD7mS6rmaDmnBqm+a+yGiBy0eim+7qYrehGx4xnael+mzTsueAZh9LdV3KJKICNpD qS6hah4ZaP4qt78cUoK5vosVEiG2RUsWzZwGNhr5SWqLwBVOnTRKIANtlck/Y5VuLFegul SBAzvwrSIcW/IlJm4WxUFB8PAP369j4dOvjMTiWAH0sOclrUdMITt6fcEmZ13Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779206830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tEhVO1fw8h8Ro1wsoQpl2EepLwniefiWqcdCU/XHvsk=; b=Rfhe45fLQg7+okL0JKBIZQXMz9I31QXy0K2eQf6syX/TJiuWkDnOBYJMKEfptDyvf2C7x4 wxSJyvvUhx8VqASVBu9dLNur9R5hULXH82AX7k8SH1MWzD2LD12RtIt7glV9dUXdBlyrDi nXiE1BDX6QbxTzrWWMUp1QYmuJSDLSCpGRrtwmkYaqjiITi/6Njmy+/S2wdS1Hd9p8hJyA 0GrrnXiBl6bhY+wE0/3zdYAQRL52EtsB/DjlzmA/dRdDHNdazKq3sV5cJ2o18OYC6G9aoe XecMZTA0ob5KQrnJPNQpEUiM2ZAZuo4Q5cYswHZhOhkEB33xEtfpJAb+810UCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gKfgy1CzNz6Sc for ; Tue, 19 May 2026 16:07:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18801 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 19 May 2026 16:07:05 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Wolfram Schneider Subject: git: a61c5f0ec4 - main - add OpenBSD 7.9 manual pages List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wosch X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a61c5f0ec4fae5d98197f659b3d8b4f85d1a3ff6 Auto-Submitted: auto-generated Date: Tue, 19 May 2026 16:07:05 +0000 Message-Id: <6a0c8aa9.18801.6f6e4d0@gitrepo.freebsd.org> The branch main has been updated by wosch: URL: https://cgit.FreeBSD.org/doc/commit/?id=a61c5f0ec4fae5d98197f659b3d8b4f85d1a3ff6 commit a61c5f0ec4fae5d98197f659b3d8b4f85d1a3ff6 Author: Wolfram Schneider AuthorDate: 2026-05-19 16:06:57 +0000 Commit: Wolfram Schneider CommitDate: 2026-05-19 16:06:57 +0000 add OpenBSD 7.9 manual pages --- website/content/en/cgi/man.cgi | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/website/content/en/cgi/man.cgi b/website/content/en/cgi/man.cgi index a231abaab5..f80852b5e4 100755 --- a/website/content/en/cgi/man.cgi +++ b/website/content/en/cgi/man.cgi @@ -246,6 +246,7 @@ $sectionpath = { 'OpenBSD 7.6' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, 'OpenBSD 7.7' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, 'OpenBSD 7.8' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, + 'OpenBSD 7.9' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, 'CentOS 3.9' => { 'path' => '1:2:3:3p:4:5:6:7:8:9:n', }, 'CentOS 4.8' => { 'path' => '1:1p:2:3:3p:4:5:6:7:8:9:n:0p', }, @@ -792,6 +793,7 @@ $manPathDefault = 'FreeBSD 15.0-RELEASE and Ports.quarterly'; 'OpenBSD 7.6', "$manLocalDir/OpenBSD-7.6", 'OpenBSD 7.7', "$manLocalDir/OpenBSD-7.7", 'OpenBSD 7.8', "$manLocalDir/OpenBSD-7.8", + 'OpenBSD 7.9', "$manLocalDir/OpenBSD-7.9", #'NetBSD 0.9', "$manLocalDir/NetBSD-0.9", 'NetBSD 1.0', "$manLocalDir/NetBSD-1.0", @@ -1233,6 +1235,7 @@ my %arch = ( 'OpenBSD 7.6' => { 'arch' => [qw/alpha amd64 arm64 armv7 hppa i386 landisk loongson luna88k macppc octeon powerpc64 riscv64 sparc64/] }, 'OpenBSD 7.7' => { 'arch' => [qw/alpha amd64 arm64 armv7 hppa i386 landisk loongson luna88k macppc octeon powerpc64 riscv64 sparc64/] }, 'OpenBSD 7.8' => { 'arch' => [qw/alpha amd64 arm64 armv7 hppa i386 landisk loongson luna88k macppc octeon powerpc64 riscv64 sparc64/] }, +'OpenBSD 7.9' => { 'arch' => [qw/alpha amd64 arm64 armv7 hppa i386 landisk loongson luna88k macppc octeon powerpc64 riscv64 sparc64/] }, ); # delete not existing releases @@ -1279,7 +1282,7 @@ while ( ( $key, $val ) = each %manPath ) { 'macosx', 'Darwin 8.0.1/ppc', 'netbsd', 'NetBSD 10.1', - 'openbsd', 'OpenBSD 7.8', + 'openbsd', 'OpenBSD 7.9', 'opensuse', 'openSUSE 15.6', 'openindiana', 'OpenIndiana 2025.10', 'v7', 'Unix Seventh Edition', From nobody Tue May 19 18:39:32 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gKk3t0bzGz6fbtf for ; Tue, 19 May 2026 18:39:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gKk3s6pRKz3YMM for ; Tue, 19 May 2026 18:39:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779215978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ClbjslpNFgB9ocPfvHqcxHkCfXHK4O5z/veX8zjseoo=; b=KnUrqk0YJOV7ynG5VNvhDfHdXvxLYwAv60gIOyuf5i/CEW9EUIUx8L+YBhIkn+0wDo/wji D3ic3sIl2JVB++sV81x6NHpmgGMxWLA8Q6hfTAb2/mkq9chQJaLzhCbMXuNORfLT4hC/4w n/kMDBTlb5iAl97KMS0thfzonGV2HWoJ89sREMKbeRPqffIskhr6wFpB4sw9vFobERfC49 G7jYv6Jw4PCWElkR/E9PZa15JidZA8ibLRxB5d9zOsh80nQoCpNCyx9/DXiV8267fdr6Wn mhAFCNijjnP12/YJDgWHRem3aG3JkWwPFYGbHtT/Kfl9bACCiCrZPUzw4bwxWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779215978; a=rsa-sha256; cv=none; b=SvHxny/PQpsyo4tTYBP9RpWT9e3sFFE9j6Suw/F3rknDHkaWgIfr6LuizRtv9EoYToWF41 05Q5bzwE51RyBzEUemtft9v8FCoKvBTBN/GaBcH29SgSGCCOnjWTP72kb8okTu3sUj/bgj F0GW/ULNGaR4PuUihyCpBE8pztWWL32eiJVxN5CNCSF2B4ehoSM+leJ2AnocZD5z5nPDlq IC2mv2d0TaGo+11cgreL7JGzGahsPcKtjjrxUsL3bfOiOCYS2nFOHzPirne0XV09mCSLLM 7Ra8OEeTmnDQyggE3Q+mpPZ5bHtI6iqtcEn0pt6clUXgrATgYdYdlTuRYKPPNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779215978; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ClbjslpNFgB9ocPfvHqcxHkCfXHK4O5z/veX8zjseoo=; b=qHvTOEfZhWgKkw/A4CvbH9IL0PG66YCnc659bhi1vfvYU3PlKhbL4rfCrxNAozH0BOZhsH Z1/Bsnwju5tPkHCDUJ0zI1/pDpwmG/0kW9OGwSPag+1DH6fS3DKk1O0AMwRLcovmy4XnMh 50b6wa+Jfi3+i18fD0Ze9+BbdwiNQidk5/lGOM8s8XN9GG/3b0AfGlicKb4SJ9lOGJnZBx 3sgmvb4UAFP0YjWSmoyZZzGqmuqaKbsSuj6sCMluuTpt72e8SqZPxErrEfpPCbLAss0ggb XPZexwoZ6okGylcA/AGI00TwEPXPREp6aLyZvDInP6O7XRk1VnBtF5T2JRlSTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gKk3s6BCtzBW4 for ; Tue, 19 May 2026 18:39:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30424 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 19 May 2026 18:39:32 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Vladlen Popolitov Subject: git: 7b10f2d4e0 - main - 15.1/relnotes: additional commits entries added List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vladlen X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7b10f2d4e029a3b8f171db6e5cd4be09cb1e0a5a Auto-Submitted: auto-generated Date: Tue, 19 May 2026 18:39:32 +0000 Message-Id: <6a0cae64.30424.55b562c@gitrepo.freebsd.org> The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=7b10f2d4e029a3b8f171db6e5cd4be09cb1e0a5a commit 7b10f2d4e029a3b8f171db6e5cd4be09cb1e0a5a Author: Vladlen Popolitov AuthorDate: 2026-05-19 18:39:26 +0000 Commit: Vladlen Popolitov CommitDate: 2026-05-19 18:39:26 +0000 15.1/relnotes: additional commits entries added Entries from the latest commits added Approved by: re (implicit) Differential Revision: https://reviews.freebsd.org/D57099 --- website/content/en/releases/15.1R/relnotes.adoc | 31 +++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/website/content/en/releases/15.1R/relnotes.adoc b/website/content/en/releases/15.1R/relnotes.adoc index b3ca427d2a..28a316df4e 100644 --- a/website/content/en/releases/15.1R/relnotes.adoc +++ b/website/content/en/releases/15.1R/relnotes.adoc @@ -296,6 +296,13 @@ gitref:00412df3265e[repository=src]. DTrace kernel diagnostic messages now use a more intuitive prefix `dtrace`, improving log search consistency. gitref:7781f5e09ffc[repository=src]. +bsdinstall script now performs pkgbase installation by default, with components specified via COMPONENTS variable, while legacy distset installation remains available if DISTRIBUTIONS is defined. +gitref:cb7880bb0900[repository=src]. +{{< sponsored "ConnectWise" >}} + +man:cron[8] now implements full PAM session lifecycle for user jobs, allowing PAM modules to establish credentials and sessions before job execution. PAM environment variables are exported to job processes with user crontab variables taking precedence. A default pam_permit.so session rule is added to /etc/pam.d/cron to enable session support without changing default behavior. +gitref:770479c4cea0[repository=src]. + [[userland-contrib]] === Contributed Software @@ -340,8 +347,8 @@ gitref:e0ae00f43186[repository=src]. man:zlib[3] has been updated updated to version 1.3.2. gitref:74f357256769[repository=src]. -OpenZFS has been updated to version 2.4.1. -gitref:a8dbd836b785[repository=src]. +OpenZFS has been updated to version 2.4.2. +gitref:409247a6cbd1[repository=src]. USB vendor database has been updated to 2025.12.13. gitref:9b2cba4a8a69[repository=src]. @@ -392,6 +399,12 @@ gitref:109324d5e7ab[repository=src]. zstd has been updated to version 1.5.7. gitref:1aa2b46a0707[repository=src]. +MIT krb5 has been updated to 1.22.2. +gitref:3de8ca652d93[repository=src]. + +Heimdal (Kerberos) has been updated to version 1.22.2. +gitref:3ee9a0f8924d[repository=src]. + [[userland-deprecated-programs]] === Deprecated Applications @@ -463,6 +476,13 @@ I/O interrupts from the man:ena[4] device on Graviton (arm64) systems are now sp gitref:b2ba4131b9b0[repository=src]. {{< sponsored "Amazon" >}} +Cloud image configurations for cloud-init and ec2-small now use firstboot_pkg_upgrade for package updates. +gitref:73ec43ab702f[repository=src]. + +A firstboot package auto updater has been introduced for cloud images. On first boot, the base system packages are automatically updated to patch the system. +gitref:10c4498f93d2[repository=src]. +{{< sponsored "Google Cloud" >}} + [[kernel]] == Kernel @@ -632,6 +652,10 @@ gitref:3a64c667f16f[repository=src]. The support for mounting a diskless root file system via NFSv4 has been added. Requires specific server configuration and client settings in man:loader.conf[5] and man:sysctl.conf[5]. gitref:2a97b49bc472[repository=src]. +iSCSI TargetName matching on login is now case-insensitive again, restoring RFC 3722 compliance. +gitref:379805b29732[repository=src]. +{{< sponsored "ConnectWise" >}} + [[boot]] == Boot Loader Changes @@ -874,5 +898,8 @@ Firmware packages from the kmods repository have been included on the DVD instal gitref:b0fbed20ceb9[repository=src]. {{< sponsored "https://www.patreon.com/cperciva" >}} +The ext2 and ntfs packages have been added to release media to assist users in transferring packages from Linux or Windows systems. +gitref:8c8ec2cdc9a9[repository=src]. + [[future-releases]] == General Notes Regarding Future FreeBSD Releases From nobody Tue May 19 18:44:25 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gKk9V6blcz6fcVV for ; Tue, 19 May 2026 18:44:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gKk9V5rmXz3Z8m for ; Tue, 19 May 2026 18:44:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779216270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cThPpqhZqea2+x3lKeNFKbjLqNfgeneyxn440p6XdKY=; b=CWvq7OeN1gG/DhTPU8ObWCn3TsLug46eFVWof2nBhqfFxl4h2UYxXXToTMfEIgJtyaP2Pz +eOigx26YWKRLhfOdba1E0MEqxd/my5nHXxJCm0adCHrtFUR2R1MVbcHUhCMblorUvsgTJ VS1A2A6xk2Yd3YBT5TWXiExrps9kb42u33mDRy4ZT4O8JQpBzkt0onjI39XTR1N/xIslH5 gxmmFwVf8jgaKQD/XzWkrpsmCtiEF0xJgWsmwpmPteozGQoXijKi8JZXQxmWLJ1JsLgdP+ myWVwkgfPM41gn/wUVJcJkQQkQIEPVqJiBwPJCRg7jFghXkU85tR19cEzFo/nA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779216270; a=rsa-sha256; cv=none; b=IDQrExSwpmKs+1CfU9A9fn3bcSbGKHBcDwcNwzOy198kSVcm1qbuuKYstiJEQqQifKG9+M kixrlhnGtkvMzHcQD0eZaC9QcLukyeHnkRcVodEJ90DYj6NgKYW/p8I8/dn4Png+Qlw34N 4hrM7tkv1FmkDInktrYqvYUSIAq732/tkxl0lHdpg0g/fhkDSeIP5tUc2pLlfE6Ce4Fa1y Mb4/ZO46+/OQ78n7ih24nHtrgWvw0tpQrfax9+ey1m7NHNvKhGJkSF9pmNuNV9EBgZeTuQ iuHe6FMqV+nZGltZfeI0YE9xthiOnf6/zjOzXBmmv1V4Hw6XfMf6dcrVXYZgSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779216270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cThPpqhZqea2+x3lKeNFKbjLqNfgeneyxn440p6XdKY=; b=g0N0vHXwvPrrILB551IMvYmfYhp8BfyOMLrmpLVARO5GCH3tPwSjxExvsSoACnXmIXf3SK eGo7ZENeN4M4nNFieajgOl2fxECRBW+NnqL1kN0XjOUr5b46/menbZj1/XdaiXYsRkRO/b d8OCbH64Nk1CttTt25auSeI2B9IeaJnvW4J8pE/yVsdXonYrP/rvvwAW8bxLBB1ctCa/TR R6ZoPvSCeow5VRfKS2TGL4PYlSPiL2BFLyntsoNSBZIHYFhAQZ2xaffk+yKRvXeNcyZa6Q YuDcxqurmdeTZ3DruX2SSJBHldqz9KI3mjZRNSquVEUjoHXUfz6jGWPgJ6V4jA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gKk9V5M1czBXj for ; Tue, 19 May 2026 18:44:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3053e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 19 May 2026 18:44:25 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Kevin Bowling Subject: git: b9906458c6 - main - Update my PGP key with NetBSD.org email List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9906458c6fa5ec6888d66fc15a0361179ae470f Auto-Submitted: auto-generated Date: Tue, 19 May 2026 18:44:25 +0000 Message-Id: <6a0caf89.3053e.2d7b449b@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/doc/commit/?id=b9906458c6fa5ec6888d66fc15a0361179ae470f commit b9906458c6fa5ec6888d66fc15a0361179ae470f Author: Kevin Bowling AuthorDate: 2026-05-19 18:43:49 +0000 Commit: Kevin Bowling CommitDate: 2026-05-19 18:44:18 +0000 Update my PGP key with NetBSD.org email --- documentation/static/pgpkeys/kbowling.key | 38 +++++++++++++++++++------------ 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/documentation/static/pgpkeys/kbowling.key b/documentation/static/pgpkeys/kbowling.key index 7473ef6b40..7e5215a6bb 100644 --- a/documentation/static/pgpkeys/kbowling.key +++ b/documentation/static/pgpkeys/kbowling.key @@ -4,6 +4,7 @@ .... pub ed25519/011BD74C0753B65D 2025-01-24 [SC] [expires: 2030-01-23] Key fingerprint = C95F 7D43 ACA1 F11A 2373 C4B5 011B D74C 0753 B65D +uid Kevin Bowling uid Kevin Bowling uid Kevin Bowling sub cv25519/D7299678C74CC3D9 2025-01-24 [E] [expires: 2030-01-23] @@ -15,19 +16,28 @@ sub cv25519/D7299678C74CC3D9 2025-01-24 [E] [expires: 2030-01-23] -----BEGIN PGP PUBLIC KEY BLOCK----- mDMEZ5QNnxYJKwYBBAHaRw8BAQdApZjP+oluw7HSgmu0qaWRI/N9wSG6c6HrdgoW -+6/ygFG0JEtldmluIEJvd2xpbmcgPGtib3dsaW5nQGZyZWVic2Qub3JnPoiZBBMW -CgBBFiEEyV99Q6yh8Rojc8S1ARvXTAdTtl0FAmeUDZ8CGwMFCQlmAYAFCwkIBwIC -IgIGFQoJCAsCBBYCAwECHgcCF4AACgkQARvXTAdTtl0ZVAEApV3/ERCeVU3ZTdZL -lSDeqIxJgYcXwZH5442TJWzPxnoA/3z+vl3KQhuhIyKuOxE2orzLS4YZuj3+cqrd -YniVUIsAtChLZXZpbiBCb3dsaW5nIDxrZXZpbi5ib3dsaW5nQGtldjAwOS5jb20+ -iJkEExYKAEEWIQTJX31DrKHxGiNzxLUBG9dMB1O2XQUCZ5QONAIbAwUJCWYBgAUL -CQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRABG9dMB1O2XUCgAP0V3KL+kY/L -dxPJFef1QQkNRuy7osACW/IxChT5WoorGwD/a/qMEHcoO3MUmuXubH0OW6Z9M8Ym -AJ+JTjMhn+RUzwi4OARnlA2fEgorBgEEAZdVAQUBAQdA5k2VaoYUMTImxCdaU7KY -0uz2+EAfAU36k85WSj31gn4DAQgHiH4EGBYKACYWIQTJX31DrKHxGiNzxLUBG9dM -B1O2XQUCZ5QNnwIbDAUJCWYBgAAKCRABG9dMB1O2XUIYAP41nEbFrXl2VWiPOEzP -6AcRf408v2S1Mbo8EBSiIRnQXAD+NTW8m7OWE4sfDyJv+xK+cdRUAhP4GBFdQwfd -AOFR2wk= -=Suka ++6/ygFG0KEtldmluIEJvd2xpbmcgPGtldmluLmJvd2xpbmdAa2V2MDA5LmNvbT6I +mQQTFgoAQRYhBMlffUOsofEaI3PEtQEb10wHU7ZdBQJnlA40AhsDBQkJZgGABQsJ +CAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJEAEb10wHU7ZdQKAA/RXcov6Rj8t3 +E8kV5/VBCQ1G7LuiwAJb8jEKFPlaiisbAP9r+owQdyg7cxSa5e5sfQ5bpn0zxiYA +n4lOMyGf5FTPCIh1BBAWCgAdFiEEXkITbOeQ4rdvXuwmUXrIIVtOO2sFAmoG4JEA +CgkQUXrIIVtOO2s85AEAvMXc1LDe+8fhdV53odL2wCLlK1naiXFgqnpcBueU1bkA +/iyXjNQngiUKZmC0DM1mN4VyUTFySNKJAb+7c2evaCgGtCRLZXZpbiBCb3dsaW5n +IDxrYm93bGluZ0BmcmVlYnNkLm9yZz6ImQQTFgoAQRYhBMlffUOsofEaI3PEtQEb +10wHU7ZdBQJnlA2fAhsDBQkJZgGABQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheA +AAoJEAEb10wHU7ZdGVQBAKVd/xEQnlVN2U3WS5Ug3qiMSYGHF8GR+eONkyVsz8Z6 +AP98/r5dykIboSMirjsRNqK8y0uGGbo9/nKq3WJ4lVCLAIh1BBAWCgAdFiEEXkIT +bOeQ4rdvXuwmUXrIIVtOO2sFAmoG4JEACgkQUXrIIVtOO2vvkAEAwW8LORhqVbvf +LCMS9hI3nac+9MQT57Uagew2fO6ffPoA/0AQQBOFwcF43R8kWsEoSg8KUcR6X+iP +mU9y3CAzGicKtCNLZXZpbiBCb3dsaW5nIDxrYm93bGluZ0BOZXRCU0Qub3JnPoiZ +BBMWCgBBFiEEyV99Q6yh8Rojc8S1ARvXTAdTtl0FAmn8x7cCGwMFCQlmAYAFCwkI +BwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQARvXTAdTtl3wvgEAyOrSh0bdbodW +PgQxIZe/g/EKGNj19rtom+JvxnR+tlIA/isKSwkBEP2EZUgpfzJ1s4yDGlOhYOH6 +NaXQ7ngTWgkCuDgEZ5QNnxIKKwYBBAGXVQEFAQEHQOZNlWqGFDEyJsQnWlOymNLs +9vhAHwFN+pPOVko99YJ+AwEIB4h+BBgWCgAmFiEEyV99Q6yh8Rojc8S1ARvXTAdT +tl0FAmeUDZ8CGwwFCQlmAYAACgkQARvXTAdTtl1CGAD+NZxGxa15dlVojzhMz+gH +EX+NPL9ktTG6PBAUoiEZ0FwA/jU1vJuzlhOLHw8ib/sSvnHUVAIT+BgRXUMH3QDh +UdsJ +=tOno -----END PGP PUBLIC KEY BLOCK----- .... From nobody Tue May 19 19:31:42 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gKlCy2hHPz6fgDK for ; Tue, 19 May 2026 19:31:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gKlCy0TKPz3cnZ for ; Tue, 19 May 2026 19:31:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779219102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3I2+PTki4nQeuQkjkMowBJSBg3WNlwyYcJUJ2Q9uSYM=; b=wA74vw9YRuO6wEXsGg2bv7gb1qUxaBbfRne2TqeGdmDLSLA/sgOPGkETFjtMtVla85ruW/ ZPKQFLrvbIMG6uiW9PL5P3v8T9TKSg1LLn4jqgQrgvneuqA+oXY0XdFenWE6FYj39hHfF2 3vmaOdSzITVsVADRrXVNDix3le5juAbBZjAUK+x8TBFzoxSOq7bvifp/fuw510u8aBqIaj +vpueubxyiEsvjRDE5OJg+aXZGOZCqbju2Ml8ntUT3/KWvvyTh9y4RwOPi3kyoHYid7hin KSojA8rngipuLc5bXrqPjIuM0icgDaIFv2rPxxW+pkJsw+DNkReXo3zedRhgZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779219102; a=rsa-sha256; cv=none; b=anV4Y42WB4Ha1/Rf9HaicbZ/aLIkFJ/CPIE1VYQqrE9U2jbCCzQ7Sw7a+AuWM0knmiwzqD gGFxhxfHYB6MYuY5dP0LobEf6sl8s9qlqTxRvsqph3S03s9B4hjPCVdyVkESh/dyRU4fRw j3TIlAoaz1DXTnk7T52TTUoGEOZ/3oDZsf6N3BvO6rwAX6oJCxeRKGAMKgT8qLCXJLifN/ TBS7sXUnPhVlzvTALI5oH3I9RCEvJstToTSUig/IpZlv3ThObVJRbQ505wc0ZuSD/UqIYY nm8EpHUkBGXMox41ia/D3Ou8khdBTLM4EzXbr0IV0gWld/NAgIIoj6i6++jdUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779219102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3I2+PTki4nQeuQkjkMowBJSBg3WNlwyYcJUJ2Q9uSYM=; b=x1Jinh7yIBHXQ7G+p9HvGeJA6mg+HT+JVVcSuUQXHy1uwsngSWRXqKIqaoVmS3opSeYIOM O+Fky8taa9I+vYHMTTFFOiwGAwiafuRnTruXGYJpIjRdOwxVt62nLNFUry+Y94NeggGrmP RqnBLlF0eHJplFnHlLI4b5tQHvLTkfsoC0LcXhS1ooGOVFVlSeZHfW8UGn2B8RkxvrnqgM 2XqTZcXUbmP3utNtd/1StqZ+zu4e7qshUWZMgWzp2wZ7FPCgqYv9aAHWwfUW24RMw8M0a+ FSLrkJHdU9jNdfZlGor+nCkdFgiad32lJojWxszzD8CGRs34Fc3lualzZ1cDIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gKlCy02JbzCpF for ; Tue, 19 May 2026 19:31:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 368c5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 19 May 2026 19:31:42 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Vladlen Popolitov Subject: git: 966a1a9d8d - main - docs: fix broken cross-references by using numeric values for isOnline List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vladlen X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 966a1a9d8dd813f7e2b95605a2473c75ee45ff7d Auto-Submitted: auto-generated Date: Tue, 19 May 2026 19:31:42 +0000 Message-Id: <6a0cba9e.368c5.23a591cb@gitrepo.freebsd.org> The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=966a1a9d8dd813f7e2b95605a2473c75ee45ff7d commit 966a1a9d8dd813f7e2b95605a2473c75ee45ff7d Author: Vladlen Popolitov AuthorDate: 2026-05-19 19:31:23 +0000 Commit: Vladlen Popolitov CommitDate: 2026-05-19 19:31:23 +0000 docs: fix broken cross-references by using numeric values for isOnline Reviewed by: carlavilla Approved by: carlavilla Differential Revision: https://reviews.freebsd.org/D57098 PR: 295112 --- documentation/config/_default/hugo.toml | 2 +- documentation/config/offline/config.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/config/_default/hugo.toml b/documentation/config/_default/hugo.toml index 7f26c2bdc3..fb3f320fee 100644 --- a/documentation/config/_default/hugo.toml +++ b/documentation/config/_default/hugo.toml @@ -36,7 +36,7 @@ timeout = "180s" extensions = ["man-macro", "inter-document-references-macro", "cross-document-references-macro", "sectnumoffset-treeprocessor", "packages-macro", "git-macro"] [markup.asciidocExt.attributes] env-beastie = true - isOnline = true + isOnline = 1 skip-front-matter = true sectanchors = "after" diff --git a/documentation/config/offline/config.toml b/documentation/config/offline/config.toml index eb51936138..4075195a1d 100644 --- a/documentation/config/offline/config.toml +++ b/documentation/config/offline/config.toml @@ -34,7 +34,7 @@ timeout = "180s" extensions = ["man-macro", "inter-document-references-macro", "cross-document-references-macro", "sectnumoffset-treeprocessor", "packages-macro", "git-macro"] [markup.asciidocExt.attributes] env-beastie = true - isOnline = false + isOnline = 0 skip-front-matter = true [outputs] From nobody Wed May 20 02:15:16 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gKw9j4BfLz6dx7m for ; Wed, 20 May 2026 02:15:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gKw9j3h9sz3GYX for ; Wed, 20 May 2026 02:15:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779243321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lm3YpF16gMzKFvLOJcT5UqntR53s6PeAKZn/g0dyy5w=; b=kV5xP4vKv9qXwcmt6oANWD2KCFAnI7w/ZqZ4QQJJChk5JQqbVMX2Ut6el1EsgdChv25qqT kgmgzMW07SiO3QfcxOvg+xgs4FUUQMcfrhd7O3nCKZiA+qykyLIJBIIy2T2YzFeZ415wy9 3sjjtmkJBMZtiEXlSAJxcSsgwcBBbaHSb6rgwZK9A8s8nkffuIm+JvWy6NkYlJTMJnNTjZ eqL/E0pmHSrcKe4Z9utXTZTrJCt04XvsvHsj1rWdMa5K+MeqK73L89+hDLGuuB98tXPA8c Tdoa9fnde98It8Alt6hCyi07IesMiCnOBbt9pHha3j+5Dyeh0dampb8Kl0qHew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779243321; a=rsa-sha256; cv=none; b=yU3PVWB6UBMtI6gHdnDbEz9ab1jg74EXelaSyxtKdW8a1W44HNDxg6Iw4TTk9OVQmr7c9I RnRvVQiuEi/L18r1xXkDs6J/E7Xm/zXvMA5ZVhSchcGFtZzgWpfoFnZqx22c5mWwvxcdLW dGlMYxIRCCnhMCvbSf+Qc721x/w0NGBK21Tvj4qZ6GcmNy+4ummJU2bgaLTv2auaGBEsQ0 oC/OthN/fdL7ZtqvmVbAsu3e80lnns2w4M3Ul6lHTqOvl+wtk/1aIKh2G9xb3cDBIGcCt/ U1uQZLtCOe63Tggi1PsLjzf9gBuPJE7AIYKDzgCLM0N+vemW4clkQGxfRcaHMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779243321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Lm3YpF16gMzKFvLOJcT5UqntR53s6PeAKZn/g0dyy5w=; b=RWO6kdcy3Zbb1GjXJ2hTXUTgG0kJ9TGPYoRs957cpmxwpYkUWjBzfw0pq5ZUOkvYOsHtSo a+FB53AOEJnS4sPO4ZGwpFRRb4B75PBEY5jeRKW6E6iV5NkT9Zl+9yBepI8NaaRjNWp/Do KAa2XlzfCiMgL3qvBByLRBgvZsDNqkOxED9fSyCQ1IqSUUBJsjgzmEcSL3G/X8oveRDMHW bxpfdbrchLqTG2K9jwDP9u8RiuAuAq3DwgvRyvFbipDC7rnPmIAXXwet7+uA9aKJOpMMJd HCzJuBLO1y8R1rZ18vUO4litEKO84TqjtZ/1H7OwdN+Uk7MDwyoPino1oeuxBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gKw9j2sFZzj2F for ; Wed, 20 May 2026 02:15:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 393d2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 20 May 2026 02:15:16 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org Cc: Minsoo Choo From: Alexander Ziaee Subject: git: 4c396c5b7f - main - hardware: Update pSeries entries List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c396c5b7fd73f807c03681f9e6ee30eacd7c5c0 Auto-Submitted: auto-generated Date: Wed, 20 May 2026 02:15:16 +0000 Message-Id: <6a0d1934.393d2.4a35db5f@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/doc/commit/?id=4c396c5b7fd73f807c03681f9e6ee30eacd7c5c0 commit 4c396c5b7fd73f807c03681f9e6ee30eacd7c5c0 Author: Minsoo Choo AuthorDate: 2026-05-20 02:11:21 +0000 Commit: Alexander Ziaee CommitDate: 2026-05-20 02:11:24 +0000 hardware: Update pSeries entries 14.4 and 15.1 support little-endian pSeries. 15.0 has boot panic due to bug in SLOF, but it should be reclassified as QEMU pSeries instead of IBM. Reviewed by: kbowling, ziaee Signed-off-by: Minsoo Choo Differential Revision: https://reviews.freebsd.org/D57102 --- website/content/en/releases/14.3R/hardware.adoc | 3 +-- website/content/en/releases/14.4R/hardware.adoc | 9 +++------ website/content/en/releases/14.5R/hardware.adoc | 9 +++------ website/content/en/releases/15.0R/hardware.adoc | 8 ++++---- website/content/en/releases/15.1R/hardware.adoc | 9 +++------ 5 files changed, 14 insertions(+), 24 deletions(-) diff --git a/website/content/en/releases/14.3R/hardware.adoc b/website/content/en/releases/14.3R/hardware.adoc index be103deca1..acbcf58ca4 100644 --- a/website/content/en/releases/14.3R/hardware.adoc +++ b/website/content/en/releases/14.3R/hardware.adoc @@ -174,7 +174,7 @@ More information about the support at the link:https://wiki.freebsd.org/riscv[RI Many PowerPC platforms are supported, including but not limited to: * Apple PowerMac G4 and later. -* IBM POWER4 and later using pseries VM platform. +* IBM POWER4 and later using PAPR * IBM POWER8 and later bare metal powernv ** Most development done using Raptor TALOS-II * Embedded NXP QorIQ and PowerQUICC III (MPC85XX, Pxxx) @@ -5066,4 +5066,3 @@ formerly known as Winbond, and ITE, namely: * Winbond 83667HG/HG-B * Winbond 83687THF * Winbond 83697HF/UG - diff --git a/website/content/en/releases/14.4R/hardware.adoc b/website/content/en/releases/14.4R/hardware.adoc index 281d9a1df4..12ba071840 100644 --- a/website/content/en/releases/14.4R/hardware.adoc +++ b/website/content/en/releases/14.4R/hardware.adoc @@ -166,11 +166,13 @@ crossref:platforms[powerpc,FreeBSD/powerpc64le] supports 64-bit, bi-endian POWER IBM: * Power System LC922 (POWER9) -* Power System IC922 (POWER8) +* Power System IC922 (POWER9) +* PAPR (native, LPAR, PowerVM) QEMU * PowerNV +* pSeries (LoPAR) Raptor CS: @@ -188,10 +190,6 @@ Apple: * Power Mac G5 (PowerPC 970) * Xserve G5 (PowerPC 970) -IBM: - -* pSeries VM - [[proc-risc-v]] === RISC-V @@ -5116,4 +5114,3 @@ Unitek Y-2240 USB to DVI VideoHome NBdock1920 i-tec USB 2.0 Docking Station (USBDVIDOCK) - diff --git a/website/content/en/releases/14.5R/hardware.adoc b/website/content/en/releases/14.5R/hardware.adoc index a824e54878..05ff9c24ed 100644 --- a/website/content/en/releases/14.5R/hardware.adoc +++ b/website/content/en/releases/14.5R/hardware.adoc @@ -168,11 +168,13 @@ link:/platforms/powerpc[FreeBSD/powerpc64le] supports 64-bit, bi-endian POWER9 a IBM: * Power System LC922 (POWER9) -* Power System IC922 (POWER8) +* Power System IC922 (POWER9) +* PAPR (native, LPAR, PowerVM) QEMU * PowerNV +* pSeries (LoPAR) Raptor CS: @@ -190,10 +192,6 @@ Apple: * Power Mac G5 (PowerPC 970) * Xserve G5 (PowerPC 970) -IBM: - -* pSeries VM - [[proc-risc-v]] === RISC-V @@ -5163,4 +5161,3 @@ Unitek Y-2240 USB to DVI VideoHome NBdock1920 i-tec USB 2.0 Docking Station (USBDVIDOCK) - diff --git a/website/content/en/releases/15.0R/hardware.adoc b/website/content/en/releases/15.0R/hardware.adoc index c291b71eb2..a00ee23548 100644 --- a/website/content/en/releases/15.0R/hardware.adoc +++ b/website/content/en/releases/15.0R/hardware.adoc @@ -168,7 +168,8 @@ link:/platforms/ppc[FreeBSD/powerpc64le] supports 64-bit, bi-endian POWER9 and P IBM: * Power System LC922 (POWER9) -* Power System IC922 (POWER8) +* Power System IC922 (POWER9) +* PAPR (native, LPAR, PowerVM) QEMU @@ -190,9 +191,9 @@ Apple: * Power Mac G5 (PowerPC 970) * Xserve G5 (PowerPC 970) -IBM: +QEMU -* pSeries VM +* pSeries (LoPAR) [[proc-risc-v]] === RISC-V @@ -5067,4 +5068,3 @@ based on the DisplayLink DL-120 and DL-160 graphic chip, including: * Unitek Y-2240 USB to DVI * VideoHome NBdock1920 * i-tec USB 2.0 Docking Station (USBDVIDOCK) - diff --git a/website/content/en/releases/15.1R/hardware.adoc b/website/content/en/releases/15.1R/hardware.adoc index 998b5370b5..d6e6da31ac 100644 --- a/website/content/en/releases/15.1R/hardware.adoc +++ b/website/content/en/releases/15.1R/hardware.adoc @@ -168,11 +168,13 @@ link:/platforms/powerpc[FreeBSD/powerpc64le] supports 64-bit, bi-endian POWER9 a IBM: * Power System LC922 (POWER9) -* Power System IC922 (POWER8) +* Power System IC922 (POWER9) +* PAPR (native, LPAR, PowerVM) QEMU * PowerNV +* pSeries (LoPAR) Raptor CS: @@ -190,10 +192,6 @@ Apple: * Power Mac G5 (PowerPC 970) * Xserve G5 (PowerPC 970) -IBM: - -* pSeries VM - [[proc-risc-v]] === RISC-V @@ -5132,4 +5130,3 @@ based on the DisplayLink DL-120 and DL-160 graphic chips, including: * Unitek Y-2240 USB to DVI * VideoHome NBdock1920 * i-tec USB 2.0 Docking Station (USBDVIDOCK) - From nobody Wed May 20 13:24:24 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gLC1h3CDTz6dnD4 for ; Wed, 20 May 2026 13:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gLC1h2Ct1z3QYx for ; Wed, 20 May 2026 13:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779283464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e612ZYKZr/WH+8Qof0IzddH9WnTf7fFd71/HY8gEFBk=; b=p5vO1iUBrv18i8HSgEJ7PR5N2PL6a5RfnSPIpncpUM6Z6oqztoPzD9fL/3g1REvthWU8a3 Ucte3Sz0IYNEpR/y/H5vPgucPUNRtlvRc1hb0HQeoM5wortLfPZ/ob2zE8gPTEJd1AWDy3 pH1uW4jSJ/z4j4IFfcdphY8/Nhpx7CE2ojKqhQHDnXiEedZRjfSRT3FIGA5CPUwxOhvgNz RzsrX+hwiidUVuBq/Nt9kWcFe49SvZMMW4m3xd509QcRth2s746Mi3o7ODaBcI2hgEEl7Z 5d4tcxDIBw7m5Z3Dipi0gLrasZ6t6rzBSk6JV50AxHZK+5lVLFQ/8Eg9qFMg2Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779283464; a=rsa-sha256; cv=none; b=LzSlPVKsGVD2nARdOZtjYtu0vhY3uyySGlJVGb6eg37d6rlsHlETvx0NNy2ZSIHGk/Iif7 0J9eFfXSHW2PIqYNviYiWbGU0falxmSKo73m7rAaYtDwzpPzhSaL6jOv0bQYNLm40idPvP Qltv2Re4Eso6IMpQhpYOvE/TEqTYzKiWiX+ELi757dKyOnPdVpZZ5c6kwmemYdbGwhOkO2 lA/827sKorIm7+wElLcOOksMDBswYF3IrQ2IGvtXCQTrGM+m1+w12ZEyzJfgLUqw46/Vy5 JfpWpea1zWe2a77jPTGyZKew03MOy7wcHfRV/rjzWFnz8lzSAzda9fNvmrdphA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779283464; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e612ZYKZr/WH+8Qof0IzddH9WnTf7fFd71/HY8gEFBk=; b=Bb80q9dVeDmmHJr0jTHWE+ReSnHcnzfvsjniHRptjvtLQwJLpjV/nA4HKzuml1+/rXf8yq SKodtU37wuG0pkOxQxxsw/94B7IX/sroL+AQXHy4XTex9mZcUQy4V61t41sl0ZkKu3LZ/g uVEFIOxX7fRBWoHUJ4KTGN76ltxSieHQNbfdDLoX509omyh7YRI+ssoiu02Ne8TRaNowxp 8X0XyeinnEvpFur4jk2sq2PEB00ii0t7jGZsyOMXGLsUhtwbaeBLmFwTSLXpKUp9L0SBvu AiPECPDhX2oxivpgx9rzPKs3O8iaKfRrNRSWDyKnCpLk9VEEe0nWq+1WY+kDlg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gLC1h1D0Nz12DQ for ; Wed, 20 May 2026 13:24:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39e81 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 20 May 2026 13:24:24 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Alexander Ziaee Subject: git: 5c581d71c7 - main - website: Fix contributing article footer link List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5c581d71c71a12c6412448ebc2e4f90f7b9f8b56 Auto-Submitted: auto-generated Date: Wed, 20 May 2026 13:24:24 +0000 Message-Id: <6a0db608.39e81.524584ab@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/doc/commit/?id=5c581d71c71a12c6412448ebc2e4f90f7b9f8b56 commit 5c581d71c71a12c6412448ebc2e4f90f7b9f8b56 Author: Alexander Ziaee AuthorDate: 2026-05-20 13:20:28 +0000 Commit: Alexander Ziaee CommitDate: 2026-05-20 13:20:35 +0000 website: Fix contributing article footer link Unconditionally send the website footer link to the contributing article to the english version, as a stopgap to fix the 404. This link needs to preserve the language. Reported by: debg Reviewed by: carlavilla Differential Revision: https://reviews.freebsd.org/D57064 --- website/themes/beastie/layouts/_partials/site-footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/themes/beastie/layouts/_partials/site-footer.html b/website/themes/beastie/layouts/_partials/site-footer.html index 040f31474b..b41023e569 100755 --- a/website/themes/beastie/layouts/_partials/site-footer.html +++ b/website/themes/beastie/layouts/_partials/site-footer.html @@ -59,7 +59,7 @@

    {{ i18n "f-community" }}

    • - {{ i18n "f-get-involved" }} + {{ i18n "f-get-involved" }}
    • {{ i18n "f-community-forum" }} From nobody Wed May 20 15:22:17 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gLFdq3mwBz6dxDH for ; Wed, 20 May 2026 15:22:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gLFdp4C5zz3mcY for ; Wed, 20 May 2026 15:22:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779290542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cUAOqJIbFSRSdd+EFFZMEL6llIuo5SAYq+8XPJQ02p0=; b=HfpTIt6z3K1Mzo9vBZiEzB7oH7NtwheyDHs30Lyi22SFMqMthVCn58JkUcOXl+tF/QLX3Q giOUA32Gwo9//jM/Hm7OQyIwN2q1pO1tmhuN9CSgrIvgKGlQFC3Npx/EaecuDAUlv9irgQ 5OQEmfekEcuwSqKA4qysJZvp4sfHaesvh/gTVmCpA5whH1AjP0pPhObCV2z0LtD2Wb/yuV zfj5KZLr7Az2v0UPnoL3ALHlq5eOi2lgcaFj9Yf+QgixF47WlJoXCq6IIwdiinDxEdFDhJ 4Y75kXjPhbapO7Kc2ozbrGbgD+DASDm9mS9gU1D6qs635DLTQUwdZhBvVEXmMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779290542; a=rsa-sha256; cv=none; b=M7cowxSQ59sZxwtaWwA7DKTYcSH+bWfHdnbzz7ajBEX1xiOWXWz4k000YgHVvEv/6q4WlA mTXO3lpYfEEXKxcdYbqF5aJXVR34ZAq6K2KPeoAQBYgGXGyz9t+nonviShQihlhIXtDfB3 F3fUqP0VTCh0UtQNC8KEeRPg7i+7nDmLYsBQneTAapZ8iWUnzXrW1I29Nj/T6FvdUR7NLi 0s1/Nkkf2WUurIwI4y/OWJlA6i64U9jvGPC2tGCY9DwGMkODLZhfZCugHSFnb1DNjHfk17 BJsAYb6V5qrA3KQJRgE5ihQ/mOh+232SJKGCAR4LotpAtiE7xJSDvlSE956tkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779290542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cUAOqJIbFSRSdd+EFFZMEL6llIuo5SAYq+8XPJQ02p0=; b=EwEIlY8db+wF4LS7ZnXpwMjlI1nFAWyaFApNXRetyrEJXsC4aE162OLBgRX0xnpM5iJNv4 3J4mgAM1UsAIXiIFaCIqePj46MX18Hs2k4Bg6ICwZU3xvOgLSOrUqDk8uNn5M1N3ksDt+w Zm2+ub+uAyk6MAZTF0qFCGoCtSGykdPnC/AmT5GJaWCNGp2lUlq/bZt6bB3jlESb/kdjLl HaxjzOYkgwmygYDNRD2EVJvw7BqK0hRwcoP1Iw4vqRf0/GNu899mCJKa+NS0xbW+QliL3N X5rxsevFWxN8EEEXbFFd69DezmE88B5J+wWuT8aaufatmJxONSupuoR2zoqLlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gLFdp3p7Pz16L3 for ; Wed, 20 May 2026 15:22:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 431e0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 20 May 2026 15:22:17 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Vladlen Popolitov Subject: git: 87156a9a79 - main - website: Fix contributing article footer link List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vladlen X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 87156a9a7986b60f1664ff9e72ab5adf2b6967b8 Auto-Submitted: auto-generated Date: Wed, 20 May 2026 15:22:17 +0000 Message-Id: <6a0dd1a9.431e0.63f60758@gitrepo.freebsd.org> The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=87156a9a7986b60f1664ff9e72ab5adf2b6967b8 commit 87156a9a7986b60f1664ff9e72ab5adf2b6967b8 Author: Vladlen Popolitov AuthorDate: 2026-05-20 15:22:10 +0000 Commit: Vladlen Popolitov CommitDate: 2026-05-20 15:22:10 +0000 website: Fix contributing article footer link Reviewed by: ziaee Differential Revision: https://reviews.freebsd.org/D57064 --- website/themes/beastie/layouts/_partials/site-footer.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/themes/beastie/layouts/_partials/site-footer.html b/website/themes/beastie/layouts/_partials/site-footer.html index b41023e569..64a1ba7d30 100755 --- a/website/themes/beastie/layouts/_partials/site-footer.html +++ b/website/themes/beastie/layouts/_partials/site-footer.html @@ -1,3 +1,4 @@ +{{ $currentLang := $.Site.Language.Lang }}