Gabe Black | a2f3a93 | 2012-12-02 04:55:18 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
| 3 | * Use of this source code is governed by a BSD-style license that can be |
| 4 | * found in the LICENSE file. |
| 5 | * |
| 6 | * Alternatively, this software may be distributed under the terms of the |
| 7 | * GNU General Public License ("GPL") version 2 as published by the Free |
| 8 | * Software Foundation. |
| 9 | */ |
| 10 | |
Simon Glass | 0f2af88 | 2020-05-10 11:40:05 -0600 | [diff] [blame] | 11 | #include <log.h> |
Simon Glass | 1e91b12 | 2018-11-23 21:29:26 -0700 | [diff] [blame] | 12 | #include <mapmem.h> |
Gabe Black | a2f3a93 | 2012-12-02 04:55:18 +0000 | [diff] [blame] | 13 | #include <physmem.h> |
Tom Rini | b062146 | 2016-03-27 14:06:11 -0400 | [diff] [blame] | 14 | #include <linux/compiler.h> |
Tom Rini | a877ce1 | 2023-12-14 13:16:58 -0500 | [diff] [blame] | 15 | #include <linux/string.h> |
Gabe Black | a2f3a93 | 2012-12-02 04:55:18 +0000 | [diff] [blame] | 16 | |
Tom Rini | b062146 | 2016-03-27 14:06:11 -0400 | [diff] [blame] | 17 | phys_addr_t __weak arch_phys_memset(phys_addr_t s, int c, phys_size_t n) |
Gabe Black | a2f3a93 | 2012-12-02 04:55:18 +0000 | [diff] [blame] | 18 | { |
Simon Glass | 1e91b12 | 2018-11-23 21:29:26 -0700 | [diff] [blame] | 19 | void *s_ptr = map_sysmem(s, n); |
Gabe Black | a2f3a93 | 2012-12-02 04:55:18 +0000 | [diff] [blame] | 20 | |
| 21 | assert(((phys_addr_t)(uintptr_t)s) == s); |
| 22 | assert(((phys_addr_t)(uintptr_t)(s + n)) == s + n); |
Simon Glass | 1e91b12 | 2018-11-23 21:29:26 -0700 | [diff] [blame] | 23 | |
Gabe Black | a2f3a93 | 2012-12-02 04:55:18 +0000 | [diff] [blame] | 24 | return (phys_addr_t)(uintptr_t)memset(s_ptr, c, n); |
| 25 | } |