sealos 以 kubernetes 为内核的云操作系统一个集群多个部门多个组 织共同使用 • 相互安全隔离 • 支持共享与协作 • 20 秒启动高可用 mysql/pgsql/mongo/redis 数据 库 • 写代码像写博客一样简单 • AI 自动编码,毫秒级上线,0 运 维 数据库管理 mysql/pgsql/mongo/ redis 等多种数据库 数据库多主架构高 可用 数据库备份恢复, 故障自愈 数据库管理工具, Applications Kubernetes User APP User APP User APP Application manager KB controller Mysql/pgsql/mongo CNI CRI CSI DNS Backup Restore 交付类场景 01 整个集群或者分布式应用整 体打包,一键交付 标准化交付产物,而不是靠 操作文档协作 交付者无需关心业务逻辑,一条命令0 码力 | 29 页 | 7.64 MB | 9 月前3
Comprehensive Rust(Ukrainian) 202412'virt' має PL011 UART, тож давайте напишемо для нього драйвер. const FLAG_REGISTER_OFFSET: usize = 0x18; const FR_BUSY: u8 = 1 << 3; const FR_TXFF: u8 = 1 << 5; /// Мінімальний драйвер для PL011 UART. драйвера UART для пристрою PL011 /// за заданою базовою адресою. /// /// # Безпека /// /// Задана базова адреса повинна вказувати на 8 керуючих регістрів MMIO пристрою /// PL011, які повинні бути відображені & FR_TXFF != 0 {} // БЕЗПЕКА: ми знаємо, що базова адреса вказує на регістри // керування пристрою PL011, які відповідним чином відображені. unsafe { // Записуємо в буфер TX. self.base_address.write_volatile(byte);0 码力 | 396 页 | 1.08 MB | 11 月前3
Comprehensive Rust(Persian ) 202412� � � � � . 53.4 � � � � � � � � � � � � � � UART � � � � � � � � � � � � � � � QEMU 'virt ' � � PL011 � � � � � � � UART � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � . const << 5 ; / / / Minimal driver for a PL011 UART . pub struct Uart } base_address: *mut u8 , { impl Uart } / / / Constructs a new instance of the UART driver for a PL011 device at the / / / given base Safety / / / / / / The given base address must point to the 8 MMIO control registers of a / / / PL011 device, which must be mapped into the address space of the process / / / as device memory and not0 码力 | 393 页 | 987.97 KB | 11 月前3
Comprehensive Rust(English) 202412machine has a PL011 UART, so let's write a driver for that. const FLAG_REGISTER_OFFSET: usize = 0x18; const FR_BUSY: u8 = 1 << 3; const FR_TXFF: u8 = 1 << 5; /// Minimal driver for a PL011 UART. 287 instance of the UART driver for a PL011 device at the /// given base address. /// /// # Safety /// /// The given base address must point to the 8 MMIO control registers of a /// PL011 device, which must be mapped & FR_TXFF != 0 {} // SAFETY: We know that the base address points to the control // registers of a PL011 device which is appropriately mapped. unsafe { // Write to the TX buffer. self.base_address.write_volatile(byte);0 码力 | 382 页 | 1.00 MB | 11 月前3
Comprehensive Rust(简体中文) 202412编写 UART 驱动程序 QEMU“虚拟机”具有 PL011 UART,现在为其编写驱动程序。 const FLAG_REGISTER_OFFSET: usize = 0x18; const FR_BUSY: u8 = 1 << 3; const FR_TXFF: u8 = 1 << 5; /// Minimal driver for a PL011 UART. pub struct Uart instance of the UART driver for a PL011 device at the /// given base address. /// /// # Safety /// /// The given base address must point to the 8 MMIO control registers of a /// PL011 device, which must be mapped & FR_TXFF != 0 {} // SAFETY: We know that the base address points to the control // registers of a PL011 device which is appropriately mapped. unsafe { // Write to the TX buffer. self.base_address.write_volatile(byte);0 码力 | 359 页 | 1.33 MB | 11 月前3
Comprehensive Rust(Español) 202412estructura. 290 53.4 Vamos a escribir un controlador de UART La máquina ”virt” de QEMU tiene una UART [PL011]https://developer.arm.com/documentation/ddi0183/g), así que vamos a escribir un controlador para Controlador mínimo para un UART PL011. pub struct Uart { base_address: *mut u8, } impl Uart { /// Construye una instancia nueva del controlador de UART para un dispositivo PL011 en la /// dirección base Seguridad /// /// La dirección base debe apuntar a los 8 registros de control MMIO de un /// dispositivo PL011, que debe asignarse al espacio de direcciones del proceso /// como memoria del dispositivo y no0 码力 | 389 页 | 1.04 MB | 11 月前3
Comprehensive Rust(Português do Brasil) 202412um UART PL011, então vamos escrever um driver para isso. 291 const FLAG_REGISTER_OFFSET: usize = 0x18; const FR_BUSY: u8 = 1 << 3; const FR_TXFF: u8 = 1 << 5; /// Driver mínimo para um UART PL011. pub um dispositivo PL011 no endereço /// base fornecido. /// /// # Segurança /// /// O endereço base fornecido deve apontar para os 8 registradores de controle MMIO de um /// dispositivo PL011, que deve ser SEGURANÇA: porque sabemos que o endereço base aponta para o controle // registradores de um dispositivo PL011 que está mapeado adequadamente. unsafe { // Escreva no buffer TX. self.base_address.write_volatile(byte);0 码力 | 389 页 | 1.05 MB | 11 月前3
Comprehensive Rust(繁体中文)驅動程式 QEMU 'virt' 機器搭載 PL011 UART,所以我們要為此編寫驅動程式。 const FLAG_REGISTER_OFFSET: usize = 0x18; const FR_BUSY: u8 = 1 << 3; const FR_TXFF: u8 = 1 << 5; /// Minimal driver for a PL011 UART. pub struct Uart instance of the UART driver for a PL011 device at the /// given base address. /// /// # Safety /// /// The given base address must point to the 8 MMIO control registers of a /// PL011 device, which must be mapped FR_TXFF != 0 {} // Safe because we know that the base address points to the control // registers of a PL011 device which is appropriately mapped. unsafe { // Write to the TX buffer. self.base_address.write_volatile(byte);0 码力 | 358 页 | 1.41 MB | 11 月前3
Comprehensive Rust(한국어) 202412드라이버작성 QEMU 의 'virt' 보드에는 PL011 UART 가있으므로 이를 위한 드라이버를 작성해 보겠습니다. const FLAG_REGISTER_OFFSET: usize = 0x18; const FR_BUSY: u8 = 1 << 3; const FR_TXFF: u8 = 1 << 5; /// PL011 UART 의 최소 드라이버입니다. pub struct { base_address: *mut u8, } impl Uart { /// 지정된 기본 주소에 PL011 기기에 대한 UART 드라이버의 새 인스턴스를 /// 생성합니다. 275 /// /// # 안전 /// /// 지정된 기본 주소는 PL011 기기의 /// MMIO 제어 레지스터 8 개를 가리켜야 하며, /// 이는 프로세스의 주소 공간에 // TX 버퍼에 공간이 확보될 때까지 기다립니다. while self.read_flag_register() & FR_TXFF != 0 {} // 기본 주소가 적절하게 매핑된 PL011 기기의 제어 레지스터를 // 가리키고 있으므로 안전합니다. unsafe { // TX 버퍼에 씁니다. self.base_address.write_volatile(byte);0 码力 | 369 页 | 1.29 MB | 11 月前3
Comprehensive Rust(日语) 202412ドライバを書いてみましょう QEMU の'virt' マシンには PL011 という UART があるので、それに対するドライバを書いてみましょ う。 const FLAG_REGISTER_OFFSET: usize = 0x18; const FR_BUSY: u8 = 1 << 3; const FR_TXFF: u8 = 1 << 5; /// PL011 UART の最小ドライバ。 pub struct base_address: *mut u8, } impl Uart { /// 指定されたベースアドレスに存在する /// PL011 デバイス用の UART ドライバの新しいインスタンスを作成します。 /// /// # 安全性 /// /// 指定されたベースアドレスは PL011 デバイスの 8 つの MMIO 制御レジスタを指していなければなりません。 /// これらはデバイスメモリとしてプロセスのアドレス空間に & FR_TXFF != 0 {} // SAFETY: We know that the base address points to the control // registers of a PL011 device which is appropriately mapped. unsafe { // TX バッファに書き込みます。 self.base_address.write_volatile(byte);0 码力 | 381 页 | 1.36 MB | 11 月前3
共 51 条
- 1
- 2
- 3
- 4
- 5
- 6













