Linux 5.0 릴리스 - 주요 변경 사항, 암, MIPS 및 RISC-V 아키텍처


Linus Torvalds  Linux 5.0 을 방금 출시했습니다 .

Ok, 5.0 릴리스의 마지막 주는 완전히 조용하지 않았지만 rc8보다 훨씬 작았습니다. 전체적으로 나는 일주일 지연되었고 rc8을했습니다.

rc8 릴리스에서 언급 한 실제 패치는 내가 생각했던 걱정스러운 버그가 아니 었습니다. 예, 초기화되지 않은 변수가 있었지만 경고로 인해 즉시 알 수 없었던 이유는 방법 gcc 작동, 컴파일러 기본적으로 올바른 값으로 우리를 위해 초기화했다. 따라서 경고의 부족을 야기하지 않은 동일한 문제는 실제로 수정 사항이 실제로는 작동하지 않는다는 것을 의미합니다.

하지만 이봐, 우리는 실제로 버그가 수정되었고, 초기화되지 않은 변수 _could_는 다른 컴파일러에서 문제가되었습니다.

그럼에도 불구하고 모든 것이 잘 끝납니다. 우리는 지난주에 몇 가지 실제 수정 사항을 가지고 있지만, "흠, 일이 정말로 불안정합니다." 사실, 패치의 적어도 2/3는 이전 릴리스의 수정 사항으로 표시되므로 5.0 자체가 나쁘게 보이는 것은 아닙니다.

나무를 노크.

어쨌든, 이것으로, 5.1 용 병합 창은 분명히 열리고, 나는 이미 몇 가지 초기 풀 요청을 가지고 있다는 것을 알게되어 기쁩니다. 나는 내일 처리를 시작할 것이다.

그리고 마지막 주간의 짧은 기록입니다. 목 
5.0 릴리스의 모든 전반적인 변화는 훨씬 더 크다. 그러나 우리는 기능 기반 릴리스를 수행하지 않는다는 것을 (다시 한번) 지적하고 싶습니다. "5.0"은 4.x의 숫자가 커지기 시작한 것 이상의 의미는 아닙니다. 손가락과 발가락.

리누스

Linux 4.20 릴리스 에는 C-SKY 아키텍처 및 Hygon Dhyana x86 CPU, 압력 스톨 정보 ( / proc / pressure /) , AMD Raven2 APU 및 Picasso APU 지원, Lazy TLB 플러시 최적화 등과 같은 일부 중국 기반 CPU가 추가되었습니다  .

리눅스 5.0 ChangelogLinux 5.0의 주목할만한 변경 사항은 다음과 같습니다.

  • fcessrypt에 추가 된 저전력 장치 용 Adiantum 파일 시스템 암호화 Adiantum이 AES Crypto Accelerator가없는 장치 에서보다 빠른 파일 암호화를 가능하게합니다 "
  • AMDGPU FreeSync 지원 - Linux 5.0은 동적 재생률을 지원하는 LCD에서 작동하는 FreeSync 적응 형 동기화 기술을 지원합니다. 이 기술은 모니터 중단 시간을 줄여 주며, 이미지를 새로 수신하지 않을 때 패널 재생 빈도를 줄여 배터리 수명을 향상시킵니다.
  • Btrfs 스왑 파일 지원. 스왑 파일은 장치에 압축을하지 않고 "nocow"로 완전히 할당해야합니다.
  • binderfs, Android의 여러 인스턴스를 실행하기위한 바인더 파일 시스템

Arm 아키텍처와 관련된 변경 사항은 다음과 같습니다.

  • ARM의 에너지 인식 스케줄링 big.LITTLE-EAS는보다 에너지 효율이 높은 CPU를 우선적으로 사용하여 비대칭 SMP 플랫폼에서 전력 소비를 줄입니다. Linux 커널의 EAS는 현재 AOSP 공통 커널의 일부인 에너지 인식 스케줄링의 단순화 된 버전입니다. 자세한 내용은 이 LWN 기사 를 읽으십시오 .
  • 모든 사람
    • A64 - Cedrus 오픈 소스 비디오 드라이버, DTS 오디오 코덱 변경
    • H6 - 이더넷, DE3 / HDMI 지원, USB 2.0
    • H3 / H5 - CSI 지원
    • H5 - 세도 라스
    • V3s - CSI 지원
    • F1C100, H5 및 A64 C1에 대한 SRAM 지원.
    • F1C100 및 H6 용 클럭 드라이버 (디스플레이 엔진)
    • Banana Pi M2 Magic, Banana Pi M3, Banana Pi M64, Cubietruck 및 Cubietruck Plus에서 Broadcom 기반 (Ampak 모듈)에 대한 Bluetooth 지원
    • Allwinner T3 (브랜드 명 R40) 및 F1C100s Armv5 프로세서 추가
    • 새로운 하드웨어 - Allwinner t3-cqa3t-bv3 (T3 / R40), Lichee Pi Nano (F1C100s), Emlid Neutis N5 , Mapleboard MP130
  • Rockchip
    • SPI 드라이버 정리
    • Rockchip VPU 스테이징 드라이버 (JPEG 인코딩 만 해당)
    • 클럭 - Rockchip rk3188 및 rk3328의 등록 수정 사항. Rockchip rk3188 및 고정 클럭 ID (이중 사용 번호)에 대한 새로운 중요 클럭 1 개; Rockchip rk3328의 새 시계 ID
    • RK3066 및 RK3188에 대한 전원 도메인 지원
    • 이중 MIPI 지원 추가
    • 새로운 하드웨어 - Gru Scarlet RK3188 태블릿
  • 암 로직
    • 클록 드라이버 - Amlogic GX 비디오 클럭, meson8b CPU 주파수 스케일링 & 포스트 디바이더 클럭; 업데이트 된 Meson8 / Meson8b 비디오 클럭 지원
    • Amlogic Meson PCIe 컨트롤러 드라이버 및 DT 바인딩 추가
    • DRM - 기본 평면 크기 조정 추가, 비디오 렌더링을위한 오버레이 평면 지원
    • 전력 측정 드라이버
    • DTS 업데이트
      • 중간자 8에 더 많은 타이머 지원
      • 여러 보드에 stdout-path 등록 정보 추가
      • AXG : GPIO IRQ, PHY IRQ, 워치 독 활성화
    • ARM64 DTS 업데이트
      • AXG : GPIO IRQ, PHY IRQ, 감시 장치, SCPI 활성화, 보안 모니터 추가
      • pinmux 패드 바이어스 수정, GPIO 라인 이름
    • 새로운 하드웨어 - Phicoom N1 (S905) 및 Libretech S805-AC
  • 삼성
    • 오래된 웨이크 업, PM 디버그 및 보조 코어 부팅 코드 정리를위한 클린업
    • 암 DTS 변경
      • 여러 개의 DTS 
        파일 에 PMIC 클럭에 대한 누락 된 속성 및 노드를 추가 합니다.
      • UHS-I 버스 속도 지원을 Odroid XU3 / XU4 / HC SD 카드에 추가하고 SD 및 eMMC의 최대 클록 주파수를 200 MHz로 높이십시오.
      • 모든 CPU 장치를 여러 DTS 파일에 포함하도록 냉각 맵을 업데이트하십시오.
      • Exynos3250 DWC에 단점을 사용합니다.
      • S5Pv210에 JPEG CODEC 노드를 추가합니다.
      • Exos4 보드의 devfreq OPP에 opp-suspend를 추가 
        하여 일시 중지에서 RAM으로 다시 시작하도록 수정 합니다.
      • Arndale 보드에서 eDP를 제거하면 작동하지 않으며 
        DSI 도 손상 됩니다.
      • Odroid X2 용 냉각 맵에 누락 된 CPU 추가
      • Odroid XU3 / XU4의 오디오 하위 시스템에서 클럭 구성 수정
    • ARM64 DTS 변경 사항
      • DWC3 하드웨어 모듈을 Exynos5433 특정 변형으로 업데이트하십시오.
      • 모든 CPU 장치를 여러 DTS 파일에 포함하도록 냉각 맵을 업데이트하십시오.
      • Exynos5433 TM2 (e) 보드에 IMEM 클럭 컨트롤러 (보안 서브 시스템 용) 및 블루투스 칩 추가
    • 업데이트 구성 해제
      • exynos 및 MAX8952, MAX8998 (Samsung UniversalC210 보드) 및 TC358764 (Arndale 보드)의 다중 _v7 defconfigs에서 드라이버를 활성화하십시오.
  • Qualcomm
    • 핀 제어 - 새로운 Qualcomm PMS405 PMIC 드라이버; 개선 : GPIO hog는 이제 Qualcomm SPMI / SSBI 핀 컨트롤러 GPIO 
      칩에서 작동하며 Xway
    • Qualcomm SDM845 오디오 하위 시스템 클럭 및 GPU clck 컨트롤러 용 새로운 클록 드라이버, QCS404 RPM clk 지원
    • Qualcomm PM8916 워치 독 추가
    • ARM64 업데이트
      • QCS404 4x A53 기본 플랫폼 및 노드 추가
      • QCS404 EVB 보드 추가
      • MSM8998-mtp에 대한 외부 SD 및 종속성 추가
      • MSM8998과 호환되는 기본 scm 추가
      • MSM8998에서 XO clk 이름 수정
      • SDM845 및 MSM8996에 prng-ee 노드 추가
      • pm8998 용 ADC 다이 온도 노드 추가
      • QCOM ADC 샘플 문서 수정
      • MSM8996에서 dwc3-qcom 글루 드라이버를 사용하도록 스위치
      • MSM8916에 냉각 맵 추가
      • SDM845에 UART 노드 추가
      • MSM8996 및 MSM8916에 카메라 하위 시스템 지원 추가
    • Linux 5.0의 장치 트리 변경 사항 :
      • Qualcomm TSENS 열 드라이버에 대한 항목 추가
      • msm8974 열 입력 항목을 업데이트하십시오.
      • 수정 msm8974 해머 헤드 자력계 gpios
      • SDHC 노드 용 SoC 특정 호환 장치 추가
      • 화살표 SD600 평가 보드 제거
    • ARM64 Deconfig 업데이트
      • Qualcomm QCS404 플랫폼 옵션 사용
      • Qualcomm MSM8998 클럭 및 핀트 렉 사용
      • Qualcomm SDM845 옵션 사용
      • remoteproc 관련 설정 추가
  • Mediatek
    • Pinctrl - Meditak MT6797 및 MT7629 SoC 드라이버
    • SPI - Mediatek MT7629 및 MT8183 지원
    • Mediatek MT7629 SoC clk 컨트롤러
  • 기타 새로운 ARM 하드웨어 플랫폼 및 SoC :
    •  Aspeed - 페이스 북 배낭 - CMM BMC
    • Marvell - Macchiatobin Single Shot (Armada 8040, 10GbE 없음)
    • NXP - NXP i.MX7ULP, LS1028A 및 LX2160A SoC가 추가되었습니다. emtrion emCON-MX6, imx6ul-pico-pi, imx7d-sdb-reva; VF610 hw : Liebherr의 BK4 장치, ZII SCU4 AIB 보드; i.MX7D PICO 호빗베이스 보드; i.MX7ULP EVK 보드; NXP LX2160AQDS 및 LX2160ARDB 보드
    • PXA - 최초의 PXA3xxx DT 보드 (Raumfeld)
    • 르네사스 - iWave G20D-Q7 (RZ / G1N)

MIPS 아키텍처 업데이트 및 Linux 5.0의 새로운 기능에 대한 주요 변경 사항 :

  • uninstd.h에 대한 Syscall 테이블과 정의는 이제 
    스크립트에 의해 생성되어 다른 아키텍처와의 일관성을 높이고 
    새로운 syscall을 쉽게 추가 할 수있게합니다.
  • 부동 소수점 지원을 사용하지 않는 커널을 빌드 할 때 부동 소수점 명령어를 사용하려는 사용자 영역이 SIGILL을 수신하도록 지원합니다. 커널을 축소하고 FP를 아직 포함하지 않은 nanoMIPS 지원을위한 준비로 주로 유용합니다.
  • MIPS SIMD 아키텍처 (MSA) 벡터 레지스터 컨텍스트는 새로운 NT_MIPS_MSA 레귤레이터를 통해 ptrace에 의해 노출됩니다.
  • ASID는 이제 MIPS32 커널에 대해서도 64b 값으로 저장되어 ASID 버전 필드를 충분히 확장하여 오버플로에 대해 걱정할 필요가 없으며 야생에서 관찰 된 재사용 된 ASID의 희소 한 문제를 피할 수 있습니다.
  • 지점 지연 슬롯 "에뮬레이션"페이지는 이제 사용자에 대한 쓰기 권한없이 매핑되므로 공격이 악성 코드를 실행하는 좋은 위치로 사용되는 것을 방지합니다.
  • ioremap_prot () 지원. 주로 gdb 또는 다른 ptrace 사용자가 동일한 캐시 일관성 속성을 사용하여 트레이스의 메모리를 볼 수 있습니다.
  • 더 많은 cpu_has_ * 매크로에 대한 최적화. 가능한 경우 더 많은 컴파일 타임 상수를 허용합니다.
  • UBSAN 계측으로 전체 커널을 빌드 할 수 있습니다.
  • 링크 타임 데드 코드 및 데이터 제거 기능을 사용하여 커널을 빌드 할 수 있습니다.
  • 플랫폼 별 변경 사항
    • Boston 보드 
      는 EG20T 플랫폼 컨트롤러 허브를 사용하여 DMA 프리 페치 문제에 대한 해결 방법을 얻습니다 .

    • 중복 코드 의 약 20k 라인을 제거하는 Cavium Octeon 코드 클린업
    • r4k 및 64b 시스템에 대한 새로운 defconfigs를 포함하여 DECstation 시스템에 대한 defconfig 업데이트
    • Loongson 3 지원에 대한 추가 작업.
    • SiByte 머신 용 DMA 수정

처음으로 RISC-V 아키텍처의 몇 가지 변경 사항을 추가하기로 결정했습니다.

  • 핵심 RISC-V 업데이트 :
    • BSS가 이동되어 평면 이미지가 축소됩니다.
    • RV64I 기반 시스템에서 컴파일되도록 test-bpf의 수정 사항.
    • 장치 트리가없는 경우 커널 명령 줄을 준수하는 수정 프로그램입니다.
    • CPU가 시스템을 종료 할 때 잠자기 상태가되지 않도록하는 수정 프로그램입니다.
    • RV32I 기반 시스템에서 MODULE_SECTIONS를 지원합니다.
    • [v2의 새로운 기능] 아치 관련 early printk 지원 대신 SBI earlycon 드라이버 추가
  • RISC-V 감사 업데이트 :
    • unistd.h에 NR_syscall을 추가하는 것으로 
      CONFIG_FTRACE_SYSCALLS에 필요합니다 .
    • CREATE_TRACE_POINTS의 정의이므로 __tracepoint_sys_ {enter, exit}가 정의됩니다.
    • trace_sys_exit ()에 대한 수정으로 HAVE_SYSCALL_TRACEPOINTS를 활성화 할 수 있습니다.

주석 만있는 완벽한 Linux 5.0 변경 사항 (예 : 코드 없음)은 여기 에서 찾을 수 있습니다 그것은으로 생성되었습니다 git log v4.20..v5.0-rc8 --stat자세한 내용은 KernelNewbies 에서 커널 변경 사항을 읽을 수도 있습니다 .

https://www.cnx-software.com/2019/03/04/linux-5-0-release-changelog-arm-mips-risc-v/


+ Recent posts